为什么我的IOS应用程序拒绝cdvfile://和file:///链接?

Jas*_*age 6 filesystems ios angularjs cordova cordova-plugin-file

我在我的angular/ionic/cordova应用程序中显示下载到cordova.file.dataDirectory的图像时遇到问题.

我正在使用cordova-plugin-file,我可以下载文件,并使用.toInternalURL()和/或.toURL()提取URL.但是,角度列表视图拒绝它们.我正在使用WkWebView for Ios,我的代码在Android上工作正常(使用.toInternalURL()).我已在配置和元内容安全策略中将cdvfile://*和file:///*列入白名单......

我添加了屏幕截图这里是.toInternalURL()生成的链接的控制台屏幕截图

这是.toURL()生成的链接的屏幕截图:

这是我使用的安全策略:

<meta http-equiv="Content-Security-Policy" content="default-src * data: cdvfile://* content://* file:///*; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; media-src *">
Run Code Online (Sandbox Code Playgroud)

Jas*_*age 6

好的,事实证明我的问题是WKWEBVIEW.我一直在使用它,并没有意识到这是我的问题的根源.

因此,要在src属性中使用存储的图像路径,请不要使用cdvfile://或file:///.而是创建一个如下所示的路径:

HTTP://本地主机:12344 /库/ NoCloud/ho_tylw7Ygc.jpg

将" http:// localhost:12344/Library/NoCloud "添加到entry.fullPath,您将全部设置为指向应用程序的dataDirectory.