【发布时间】:2020-12-19 18:57:10
【问题描述】:
我正在开发一款针对 iOS 和 Android 的混合应用。我必须实现一个照片上传器,所以我通过ImagePicker 和File Cordova 插件实现了它。我在 Android 上测试过,一切正常。
问题是当我为 iOS 测试它时,我通过 ImagePicker 获取图像 URI,但 File 抛出以下错误:
[error] - ERROR 错误:未捕获(承诺中):
文件错误:{"code":5,"message":"ENCODING_ERR"}
我已经看到很多与此错误相关的问题,但所有这些问题都与 Android 有关,而我遇到了 iOS 问题。我知道这是一个非常复杂的问题,所以如果有人能给我任何建议,我将不胜感激。
有关该问题的更多详细信息:
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://”=)
提前致谢
【问题讨论】:
-
嗨,你试过打印路径吗?你用真机测试吗?
-
是的,我打印出来了,结果如下:/var/mobile/Containers/Data/Application/45B44DDA-83F5-44AD-8060-D144031CB3CF/tmp/cdv_photo_004.jpg
-
我不明白为什么 ImagePicker 给我一个 tmp 目录,而实际上它必须像画廊照片一样持久,不是吗?
-
看起来这是科尔多瓦图像选择器插件问题,另一个人也报告了这个问题stackoverflow.com/questions/48380996/…
标签: ios cordova cordova-plugins ionic-native cordova-plugin-file