[英]Convert image file to Blob
我有以下代碼:
var file = document.getElementById("image1");
var filename = file.files[0].name;
//console.log("Archivo: " + filename);
var storageRef = firebase.storage().ref();
var ref = storageRef.child('imagenes/'+filename);
var reader = new FileReader();
var rawData;
reader.onload = function(e) {
rawData = reader.result;
}
reader.readAsBinaryString(file);
ref.put(rawData).then(function(snapshot){
});
File->獲取數據文件輸入(圖像)。
我想在發送表單時將此文件轉換為blob,然后將BLOB格式的圖像上傳到Firebase存儲,我該怎么做? 我曾經使用過fileReader,但是總是返回相同的錯誤:
'FileReader'上的'readAsBinaryString':參數1不是'Blob'類型。
如何將文件圖像轉換為Blob?
您不能像您那樣簡單地在onload函數中設置rawData
。 到ref.put()
運行時,將不會調用onload函數,因此rawData將始終是未定義的。 ref.put()
將文件作為參數,因此只需使用ref.put(file.files[0])
(無需閱讀器):
var file = document.getElementById("image1");
var filename = file.files[0].name;
//console.log("Archivo: " + filename);
var storageRef = firebase.storage().ref();
var ref = storageRef.child('imagenes/'+filename);
ref.put(file.files[0]).then(...);
另請參見非常常見的內容: 如何從異步調用返回響應?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.