在Android中升级cordova文件后使用img标签删除本Map像,“cdvfile://”弃用

iyzzxitl  于 2023-11-22  发布在  Android
关注(0)|答案(1)|浏览(190)

我有一个Cordova应用程序,我正在升级到针对Android 33。在这个过程中,我已经更新了一些Cordova插件,包括cordova-plugin-file到版本8.0.1-dev。
这个应用程序允许一个人拍照,通过cordova-file的工具将照片保存到应用程序的持久存储中(仍然有效,并且可以通过adb验证图像是否正确存储),并显示它们(不再工作)。我的显示图像的代码是:

<img src="cdvfile://localhost/persistent/my_image.jpg">

字符串
图像不再显示在设备上,我在JavaScript控制台中得到这个错误:

Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME


我读到this Github issue说cdvfile协议不再被支持了,但是,我真的很难找到现在在DOM中显示图像的更好的方法。
我可以通过使用cordova.file.dataDirectory + files/my_image.jpg获取图像路径,这会产生类似file:///data/user/0/com.app.name/files/files/my_image.jpg的东西。当我将其作为图像源(如<img src="file:///data/user/0/com.app.name/files/files/my_image.jpg">)时,我会在JavaScript控制台中得到以下错误:

Not allowed to load local resource: file:///data/user/0/com.app.name/files/files/my_image.jpg


如果cdvfile://...在DOM中不再工作,那么建议使用什么替代方法来加载本地文件?

vpfxa7rd

vpfxa7rd1#

我把所有以cdvfile://localhost/persistent/开头的路径都替换成了https://localhost/__cdvfile_persistent__/,现在它可以正常工作了。

相关问题