我在Android设备上从我的图库中选择了一张图片。图像以file-uri的形式返回,我使用filereader将file-uri转换为base64字符串,我可以使用该字符串发送到服务器并在我的应用程序中显示图像。问题是,当我尝试显示图像时,我只得到一张空白图片。同样的事情,如果我尝试解码base64字符串,图像根本不被识别为图像。编码file-uri的函数:
encodeImageToBase64: function(imageURI){
var fileReader = new FileReader();
var blob = new Blob([imageURI], { type: 'image/jpeg'});
var result = {};
fileReader.onloadend = function(){
result = fileReaders.result.split(',')[1];
console.log("Result: " + result);
}
fileReader.readAsDataURL(blob);
}
我得到的字符串与ZmlsZTovLy9kYXRhL2RhdGEvbm8uY2Fyd2ViLm1vYmlsZS9jYWNoZS90bXBfSU1HXzIwMTUxMTI3XzA0MjEyNjE2MDg5NDU4ODYuanBn
一样短。当我用我的应用程序拍照时,我得到一个更大的dataURL,所以我想知道我是否正在以错误的方式进行这种编码,或者我在这里错过了什么?非常感谢任何有助于我指向正确方向的帮助:)