我試圖在上傳時顯示圖像,然後將該圖像添加到firebase。我能夠顯示圖像,但是當我嘗試上傳時,我收到了一個我一直無法弄清楚的錯誤信息。這裏是我的代碼將文件上傳到firebase存儲不起作用(「存儲/無效參數」)
HTML
<input type="file" accept="image/*" onchange="showMainImage(this)" />
<br/>
<img id="thumbnil" style="width:40%; margin-top:10px;" src="" alt="image"/>
JS
function showMainImage(fileInput) {
var files = fileInput.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) {
continue;
}
var img=document.getElementById("thumbnil");
img.file = file;
var reader = new FileReader();
reader.onload = (function(aImg) {
return function(e) {
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
firebase.auth().onAuthStateChanged((user) => {
if (user) {
database = firebase.database();
var BusinessesId = firebase.auth().currentUser.uid;
//Get file
var filename = files.name;
//Create storage reference
var storageRef = firebase.storage().ref("ProductImages/"+BusinessesId+"/"+filename);
//Upload file
var task = storageRef.put(files).then(function(snapshot) {
console.log('Uploaded', snapshot.totalBytes, 'bytes.');
var url = snapshot.downloadURL;
// productImageUrl.value = url;
console.log('File available at', url);
// [START_EXCLUDE]
}).catch(function(error) {
// [START onfailure]
console.error('Upload failed:', error);
// [END onfailure]
});
// [END oncomplete]
}
})
}
我得到這個從控制檯
{T: 「存儲/無效參數的」,E :「Firebase存儲:位於索引0的
put
中的無效參數:預期的Blob或文件」,n:null,r:「FirebaseErr或「} 代碼 : (...) Ë : 」「 預期BLOB或文件:火力地堡貯存:在索引0put
參數無效。
來自錯誤信息我認爲文件沒有正確格式化。我如何解決這個錯誤並上傳文件?
我怎麼在html標籤調用此 – learner101