簡體   English   中英

將圖像文件轉換為Blob

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM