我有以下代码:
@Table
class Address extends Model<Address> {
@Column({
type: DataType.UUID,
allowNull: false,
primaryKey: true,
unique: true,
defaultValue: DataType.UUIDV4
})
id: string;
@ForeignKey // ... ??
entityId: string;
}
@Table
class Person extends Model<Person> {
@Column({
type: DataType.UUID,
allowNull: false,
primaryKey: true,
unique: true,
defaultValue: DataType.UUIDV4
})
id: string;
}
@Table
class Location extends Model<Location> {
@Column({
type: DataType.UUID,
allowNull: false,
primaryKey: true,
unique: true,
defaultValue: DataType.UUIDV4
})
id: string;
}
@Table
class Place extends Model<Place> {
@Column({
type: DataType.UUID,
allowNull: false,
primaryKey: true,
unique: true,
defaultValue: DataType.UUIDV4
})
id: string;
}
文件->获取数据文件输入(图像)。
我想在发送表单时将此文件转换为blob,然后将BLOB格式的图像上传到Firebase存储,我该怎么做? 我曾经使用过fileReader,但总是返回相同的错误:
“ FileReader”上的“ readAsBinaryString”:参数1的类型不是“ Blob”。
如何将文件图像转换为Blob?
答案 0 :(得分:0)
您不能像您那样简单地在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(...);
另请参阅非常常见的内容:How do I return the response from an asynchronous call?