如何解决Ionic-Ios-Cordova文件插件-错误
我正在开发针对iOS和Android的混合应用程序。我必须实现照片上载器,因此我是通过ImagePicker
和File
Cordova插件实现的。我在Android上进行了测试,一切正常。
问题是,当我在iOS上对其进行测试时,我通过ImagePicker
获得了图像URI,但是File
引发了以下错误:
[错误]-错误错误:未捕获(按承诺):
FileError:{“代码”:5,“消息”:“ ENCODING_ERR”}
我已经看到很多与此错误相关的问题,但是当我遇到iOS问题时,它们都与Android有关。我知道这是一个非常复杂的问题,因此,如果有人可以给我任何建议,我将不胜感激。
有关该问题的更多详细信息:
this.imagePicker
.getPictures({
maximumImagesCount: 1,})
.then(async (result : string[]) => {
let file = 'file://' + result[0];
let path = file.substring(0,file.lastIndexOf("/") + 1);
this.image = await this.file.readAsDataURL(path,file): // Line which throws the exception
});
PS:我已经尝试过以我能想象的所有方式添加'file://'=)
预先感谢
解决方法
感谢你们俩的帮助,我通过将outputType更改为1(base64 dataURL)而不是0(URI)来解决了问题。
这是修复我的错误的代码。
this.imagePicker
.getPictures({
outputType: 1,})
.catch((e) => alert(e))
.then(async (results: string[]) => {
this.image = "data:image/jpg;base64," + results[0]
}
});
对此的可能解释是ImagePicker正在从ios画廊目录复制到ImagePicker的临时目录,然后File试图读取这些复制的文件,但它们必须已被iOS File System删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。