首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Firebase uploadString错误中使用v9监控上传

在Firebase uploadString错误中使用v9监控上传
EN

Stack Overflow用户
提问于 2021-10-21 18:54:51
回答 2查看 542关注 0票数 3

在从Firebase 8升级到9的时候,我遇到了一个问题。我需要监控uploadString的上传进度,但是uploadTask.on似乎失败了。

代码语言:javascript
复制
var uploadTask = uploadString(ref(this.$storage, 'profile.jpg'), canvas.toDataURL('image/jpeg', 0.8), 'data_url');

uploadTask.on('state_changed', 
  (snapshot) => {
    const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
    console.log('Upload is ' + progress + '% done');
  }, 
  (error) => {
    // Handle unsuccessful uploads
  }, 
  () => {
    // Handle successful uploads on complete
  }
);

该图像被上传,但有以下错误:

"TypeError: uploadTask.on不是函数“

版本8中的uploadTask.on与putString一起工作得很好。有人知道怎么回事吗?提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-10-22 12:51:41

我为感兴趣的人找到了一份工作,它专门为画布元素工作,并使用uploadBytesResumable。如果有人知道的话,仍然感兴趣的是如何使用uploadString实现这一目标。

代码语言:javascript
复制
var img = canvas.toDataURL('image/jpeg', 0.8);
var file = now.dataURItoBlob(img);
var uploadTask = uploadBytesResumable(ref(now.$storage, 'profile.jpg'), file);

uploadTask.on('state_changed', 
  (snapshot) => {
    const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
    console.log('Upload is ' + progress + '% done');
  }, 
  (error) => {
    // Handle unsuccessful uploads
  }, 
  () => {
    // Handle successful uploads on complete
  }
);

dataURItoBlob函数如下

代码语言:javascript
复制
dataURItoBlob(dataURI) {
    var byteString;
    if (dataURI.split(',')[0].indexOf('base64') >= 0){
        byteString = atob(dataURI.split(',')[1]);
    }
    else{
        byteString = unescape(dataURI.split(',')[1]);
    }
    var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
    var ia = new Uint8Array(byteString.length);
    for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
    }
    return new Blob([ia], {type:mimeString});
}
票数 1
EN

Stack Overflow用户

发布于 2022-01-31 08:51:11

uploadString()返回一个uploadTask.You,使用它监视上传的状态

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69667374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档