从混合应用程序上传图像到firebase

时间:2017-01-28 20:51:28

标签: javascript mobile firebase

如何从他的路径上传图像" file:///var/mobile/Containers/Data/Application/D6326867-A474-481F-B6B4-5A9A6251CC0E/tmp/cdv_photo_013.jpg"使用Javascript到firebase存储?因为我知道如何使用Blob或文件而不是单一路径......

1 个答案:

答案 0 :(得分:0)

这是我解决的代码:

uploadPicutre(uri:string, userUid: string){
    let self = this;
    return new Promise((resolve, reject) => {

      function toDataUrl(url, callback) {
        var xhr = new XMLHttpRequest();
        xhr.responseType = 'blob';
        xhr.onload = function() {
          callback(xhr.response);
        };
        xhr.open('GET', url);
        xhr.send();
      }

      toDataUrl(uri, blob => {
         self.refStoragePicture.child(userUid)
          .put(blob).then(snapshot => {

            self.refStoragePicture.child(userUid)
              .getDownloadURL().then(function(url) {
                resolve(url);
              }).catch(function(error) {
                reject(error);
              });

          }).catch( err => {
            reject(err);
          });
      }) 
    })
  }