我试图将图像上传到firebase但代码似乎不起作用

时间:2015-09-14 17:35:01

标签: javascript firebase

我试图将图像上传到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);
        }
    }

1 个答案:

答案 0 :(得分:1)

你的代码似乎是正确的,只有一件事,当你调用一个新的fileReader实例时,那个单词的开头应该是一个大写..

var fileReader = new fileReader(); 

应该是

var fileReader = new FileReader();

应解决问题(检查函数新实例的拼写和大小写)