Javascript 如何上传图像并将其存储在firebase存储器中?
我有下面的上传按钮Javascript 如何上传图像并将其存储在firebase存储器中?,javascript,firebase,firebase-storage,Javascript,Firebase,Firebase Storage,我有下面的上传按钮 每当上传图像时,就会调用以下函数 函数imageValidation(){ 让storageRef=firebase.storage.ref('user-logos')) 让imageInput=document.getElementById('logo-image-upload')) if(imageInput.files&&imageInput.files[0]){ 让读者; reader=newfilereader(); reader.onload=(e)=>{ s
每当上传图像时,就会调用以下函数
函数imageValidation(){
让storageRef=firebase.storage.ref('user-logos'))
让imageInput=document.getElementById('logo-image-upload'))
if(imageInput.files&&imageInput.files[0]){
让读者;
reader=newfilereader();
reader.onload=(e)=>{
storageRef.put(//Blob).then(函数(快照){
console.log(“上传图像”)
});
}
}
}
我可以传递什么作为图像的值,以便将其上载到firebase存储?为了更好地理解,请添加您的html代码。 但是,如果您的输入类型为File,您可以直接将其上载到firebase。 无需在Blob中转换它 您可以参考以下代码来实现您的目标
let uploadTask: firebase.storage.UploadTask = storageRef.put(imageInput.files[0]);
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
(snapshot: any) => {
let x: number = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
return subject.next({ status: x, fileUploadSuccess: false, fileUploading: true, fileUploadFailed: false, progress: true });
})
我想你可以用这种方法来解决你的问题。嘿,谢谢你的回答,但是你能解释一下我应该在
${fileName}
和文件
变量中具体放些什么吗?谢谢。如果用户徽标下有任何文件夹,则使用child,否则省略该部分。您只需编写storageRef.put()。变量文件是要上载的实际文件。在您的情况下,可以使用storageRef.put(imageInput.files[0])