Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何上传图像并将其存储在firebase存储器中?_Javascript_Firebase_Firebase Storage - Fatal编程技术网

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])