错误代码 2,安全错误:打字稿 blob



我正在尝试将图像文件转换为 blob,但出现以下错误:

{"code":2, "message":"SECURITY_ERR"}

知道为什么会发生这种情况吗? 我尝试了很多在线资源,但真的找不到发生了什么。
我有以下代码:

choose(){
this.filechooser.open().then((uri)=>{
  this.file.resolveLocalFilesystemUrl(uri).then((newurl)=>{
    let dirPath = newurl.nativeURL;
    alert(dirPath);
    let dirPathsegments = dirPath.split('/')
    dirPathsegments.pop();
    dirPath = dirPathsegments.join('/');
      this.file.readAsArrayBuffer(dirPath, newurl.name).then((buffer)=>{
      let blob = new Blob([buffer], {type: "image/jpeg"});
      alert('blob creation success');
    }, Error=>{
      alert('Blob Error '+ JSON.stringify(Error));
    });
  });
},Error=>{
  alert('Error Choosing File ' + Error);
});
}

还有其他方法可以将文件转换为 blob 吗?我正在使用的当前 API 仅接受二进制或多部分附件

它有效。在离子2和3上进行测试

uploadFile() {
        this.fileChooser.open().then((url) => {
          (<any>window).FilePath.resolveNativePath(url, (nativeFilepath) => {
            this.readFileFromStorage(nativeFilepath);
          }
          )
        })
      }
      readFileFromStorage(nativeFilepath) {
        let fileName = this.getfilename(nativeFilepath);
        let fileExt = fileName.substring(fileName.lastIndexOf('.') + 1);
        let blogType = { type: 'image/'+fileExt };
        (<any>window).resolveLocalFileSystemURL(nativeFilepath, (res) => {
          res.file((resFile) => {
            var reader = new FileReader();
            reader.readAsArrayBuffer(resFile);
            reader.onloadend = (evt: any) => {
              var imgBlob = new Blob([evt.target.result], blogType);
              //Upload blob to firebase
              this.uploadToFirebase(imgBlob,fileName);
            }
          })
        })
      }
      getfilename(filePath){
        let fileName : string;
        fileName = filePath.replace(/^.*[\/]/, '')
        return fileName;
     }
    uploadToFirebase(fileBlob, name) {
        let storage = firebase.storage();
        storage.ref('images/' + name).put(fileBlob).then((d) => {
          alert("Done");
        }).catch((error) => {
          alert("Error: " + JSON.stringify(error));
        });
      }

相关内容

  • 没有找到相关文章

最新更新