Cordova文件插件在使用readAsDataUrl时出现安全错误

时间:2018-06-22 06:25:36

标签: angular typescript ionic3 cordova-plugins ionic-native

我正在使用FileChooser从手机的内部存储中选择一个文件,并使用文件插件将其转换为base64,但是this.file.readAsDataUrl出现错误“ FileError {code:2,Message:SECURITY_ERR} < / strong>”

我拥有所有必需的权限,但问题仍然存在,是我的代码

let base=this
  if(this.platform.is('android')){
    this.fileChooser.open()
    .then(uri => {

      var array = uri.split("/");

      var path=uri.substring(0, uri.lastIndexOf("/") + 1);

      console.log("path"+path)
      base.file.readAsDataURL(path, uri).then(dataText=>{
        console.log(dataText)
        var data = dataText;

      },(error)=>{
      console.log(error)
      })
    //console.log(uri)

    })
    .catch(e => console.log(e));
  }

我正在使用Ionic 3,Angular4,Typescript,Firebase

1 个答案:

答案 0 :(得分:2)

我遇到了同样的错误,并且想知道当文件URI以"content://"开头时,这些错误总是会发生。有了"file:///",一切都变得正常了。

因此,我使用了Ionic(https://ionicframework.com/docs/native/file-path/)的“文件路径”插件来插入链接并将其传输为始终以"file:///"开头的本地格式。

对于您而言,您需要在获得文件打开器的URI之后直接调用this.filePath.resolveNativePath(path)来“翻译”它。