当前位置: 首页 > 知识库问答 >
问题:

Firebase图像上传成功完成,但图像不在Firebase存储中

孔经武
2023-03-14
// Return a promise to catch errors while loading image
  getMedia(options, square, username): Promise<any> {
    //this.storage.get('username').then((val) => {this.username = val; console.log(this.username + "        getting usern34433245555555ame")});

    // Get Image from ionic-native's built in camera plugin
    return this.camera.getPicture(options)
      .then((fileUri) => {

        // op Image, on android this returns something like, '/storage/emulated/0/Android/...'
        // Only giving an android example as ionic-native camera has built in cropping ability
        if (this.platform.is('ios')) {

          return this.crop.crop(fileUri, { quality: 10 });
        } else if (this.platform.is('android')) {
          // Modify fileUri format, may not always be necessary
          fileUri = 'file://' + fileUri;

          /* Using cordova-plugin-crop starts here */
          return this.crop.crop(fileUri, { quality: 10 });
        }
      })
      .then(newPath => {
        console.log(newPath);
        if(newPath) {
          let fileName = newPath.substring(newPath.lastIndexOf("/") + 1, newPath.length);
          let filePath = newPath.substring(0, newPath.lastIndexOf("/"));
          this.file.readAsDataURL(filePath, fileName).then(data => {
            //let strImage = data.replace(/^data:image\/[a-z]+;base64,/, "");
            //this.file.writeFile(this.file.tempDirectory, "image.jpg", strImage);
            //let blob = dataURItoBlob(data);
            var dataURL = data;

            console.log(username + "    this is passed usernameeeeeeeeee    ==");

              let image       : string  = 'profilepicture.png',
              storageRef  : any,
              parseUpload : any;

              return new Promise((resolve, reject) => {
                storageRef       = firebase.storage().ref('/profile/' + username + '/' + image);
                parseUpload      = storageRef.putString(dataURL, 'data_url');

                console.log(username + "     username in promise  !!!!!!");

                console.log("got to storageref after");
                parseUpload.on('state_changed', (_snapshot) => {
                    // We could log the progress here IF necessary
                    console.log('snapshot progess ' + _snapshot);
                  },
                  (_err) => {
                     reject(_err);
                     console.log(_err.messsage);
                  },
                  (success) => {
                    console.log(' was     a      suc    cesssssss');
                     resolve(parseUpload.snapshot); 
                  })
                }).then(value => {
                  //this.af.list('/profile/' + self.username).push({ pic: image });
                }).catch(function(error) {
                  console.log(error.message);
                });

            //let file
           });
          }
        });

  }

console.log(username+“username in promise!!!!!!!”);的控制台输出是正确的,我相信使用的是正确的StorageRef

上载的控制台输出如下:

[20:35:56]  console.log: Blue username in promise !!!!!! 
[20:35:56]  console.log: got to storageref after 
[20:35:56]  console.log: snapshot progess [object Object] 
[20:35:57]  console.log: snapshot progess [object Object] 
[20:35:57]  console.log: was a suc cesssssss 

然而,当我查看firebase存储时,新文件夹和图像不在那里。火药库没有变化。为什么它实际上不储存在仓库里?

共有1个答案

空夕
2023-03-14

storageRef=firebase.storage().ref('/profile/'+username+'/'+image);

应该是:

storageref=firebase.storage().ref('/settings/'+username+'/'+image);

 类似资料:
  • 我从Firebase存储中获取图像,用相机拍照,或者从图书馆中挑选一张。当其中一个完成时,我有一个类来存储,以便在需要时使用它。 现在我需要将此图像上传到Firebase存储(修改或新建,无所谓)。Firebase允许我使用以下选项之一:或,每个选项分别需要或。 我怎么能把我的,并从它获得一个或用于上传? -- 或者,为了解决这个问题,当我从Firebase存储中检索图像时,如何获取图像的? 无论

  • 我有一个问题与我的代码,我必须上传图像到Firebase存储,我需要的图像来自画廊和相机,从画廊的图像是好的,但来自相机的图像给问题,图像加载在ImageView和被发送到数据库是黑色的。有人知道如何解决这个问题吗,或者你知道任何其他加载图像的方法吗? 来自画廊 从相机

  • 我试图上传一个图像文件,我得到了使用Imagepicker。 但上面的代码返回以下错误 VERBOSE-2:ui\u dart\u状态。cc(186)]未处理的异常:MissingPluginException(未找到方法任务的实现#通道插件上的startPutFile.flatter.io/firebase_存储)#0 MethodChannel_invokeMethod包:flatter/..

  • 我正在使用以下方法来保存信息。 我已经删除了一些用于访问数据库的代码行。 这是日志猫的描述。 E/StorageException:已发生StorageException。发生未知错误,请检查HTTP结果代码和内部异常以获取服务器响应。代码:-13000 HttpResult:0 E/AndroidRuntime:FATAL EXCEPTION:Firebase Storage-Upload-1

  • 我试图在Firebase存储中使用Firebase上传图像,但文件不能完全上传。它只显示图像的大小9字节,下载时无法预览。 这是我使用的代码:- 我使用的反应本地图像作物选择器。我使用Firebase,但不是反应本机Firebase。请帮助!

  • 在firebase storage的web sdk中,您可以从Blob数据上载图像。我有一个nodeJS应用程序,想将blob数据中的图像上传到我的存储桶中。在文档中,如果运行节点服务器环境,建议使用AdminSDK。但我在firbase存储管理文档中找不到此功能。 这是我的密码: