我试图将图像上传到 firebase 但代码似乎不起作用
Im trying to upload a image to firebase but the code does not seem to work
我正在尝试将图像上传到 fire base,我知道我无法按原样上传图像,所以我做了一些事情来拍摄图像并进行转换,但它无法正确转换为 base64 字符串,而且我一直收到错误消息"fileReader is not a function"
函数如下:
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);
}
}
你的代码似乎是正确的,只有一件事,当你调用一个新的 fileReader 实例时,单词的开头应该是一个大写..
var fileReader = new fileReader();
应该是
var fileReader = new FileReader();
应该可以解决问题(检查函数新实例的拼写和大小写)
我正在尝试将图像上传到 fire base,我知道我无法按原样上传图像,所以我做了一些事情来拍摄图像并进行转换,但它无法正确转换为 base64 字符串,而且我一直收到错误消息"fileReader is not a function"
函数如下:
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);
}
}
你的代码似乎是正确的,只有一件事,当你调用一个新的 fileReader 实例时,单词的开头应该是一个大写..
var fileReader = new fileReader();
应该是
var fileReader = new FileReader();
应该可以解决问题(检查函数新实例的拼写和大小写)