繁体   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