我正在使用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
答案 0 :(得分:2)
我遇到了同样的错误,并且想知道当文件URI以"content://"
开头时,这些错误总是会发生。有了"file:///"
,一切都变得正常了。
因此,我使用了Ionic(https://ionicframework.com/docs/native/file-path/)的“文件路径”插件来插入链接并将其传输为始终以"file:///"
开头的本地格式。
对于您而言,您需要在获得文件打开器的URI之后直接调用this.filePath.resolveNativePath(path)
来“翻译”它。