我试图将图像上传到fire base,我知道我不能上传图像,所以我做了一些需要图像并转换它的东西,但它不会正确转换为base64字符串,我不断收到错误&# 34; fileReader不是函数"
这是功能:
function encode(){
var file = document.getElementById("inputFileToLoad").files; //get the file
if (file.length > 0)
{
var fileToLoad = file[0];
var fileReader = new fileReader();
fileReader.onload = function(loadFileEvent) {
var srcData = loadFileEvent.target.result; // <--- data: base64
//connect to firebase and set it
var uploadEncodedImg = new Firebase("https://image-uploads.firebaseio.com/");
uploadEncodedImg.set({
img: srcData,
});
console.log("uploaded to Firebase");
//get the image on firebase and load it off the server
uploadEncodedImg.child('img').on("value", function(snapshot) {
console.log(snapshot.val());
document.getElementById("Encoded").src = snapshot.val();
});
}
fileReader.readAsDataURL(fileToLoad);
}
}
答案 0 :(得分:1)
你的代码似乎是正确的,只有一件事,当你调用一个新的fileReader实例时,那个单词的开头应该是一个大写..
var fileReader = new fileReader();
应该是
var fileReader = new FileReader();
应解决问题(检查函数新实例的拼写和大小写)