Convertendo uma imagem para base64 em angular 2
Convertendo uma imagem para base64 no angular 2, a imagem é carregada do local. Atual estou usando fileLoadedEvent.target.result. O problema é que, quando eu envio essa sequência base64 através dos serviços REST para java, ela não é capaz de decodificá-la. Quando tento essa string base64 com codificador-decodificador on-line gratuito, também não consigo ver a imagem decodificada. Eu tentei usar a tela também. Não estou obtendo resultado adequado. Uma coisa é certa: a string base64 que estou recebendo não é a correta. Preciso adicionar algum pacote para isso? Ou no angular 2, existe alguma maneira perticular de codificar a imagem para base64, como estava no pacote angular 1 - angular-base64-upload.
Pls encontrar abaixo o meu código de exemplo
onFileChangeEncodeImageFileAsURL(event:any,imgLogoUpload:any,imageForLogo:any,imageDiv:any)
{
var filesSelected = imgLogoUpload.files;
var self = this;
if (filesSelected.length > 0) {
var fileToLoad = filesSelected[0];
//Reading Image file, encode and display
var reader: FileReader = new FileReader();
reader.onloadend = function(fileLoadedEvent:any) {
//SECOND METHO
var imgSrcData = fileLoadedEvent.target.result; // <--- data: base64
var newImage = imageForLogo;
newImage.src = imgSrcData;
imageDiv.innerHTML = newImage.outerHTML;
}
reader.readAsDataURL(fileToLoad);
}
}