window.Ionic.WebView.convertFileSrc 不适用于 ionic 3

window.Ionic.WebView.convertFileSrc not working in ionic 3

我正在尝试使用 cordova-plugin-camera 插件显示从 camera/gallery 中选择的图像,并使用 window.Ionic.WebView.convertFileSrc() 进行 重写 file:// 由于到 wkwebview.

它在 android 平台上工作正常,但在 iOS 平台上它给出内容安全策略错误

例如我得到 file:///Users/CN339/Library/Developer/CoreSimulator/Devices/XXXXXXX/data/Containers/Data/Application/XXXXX/Library/NoCloud/cdv_photo_002.jpg 来自相机插件并在之前的本地 url 上使用 window.Ionic.WebView.convertFileSrc 后出现以下错误。

Content Security Policy error

我尝试了很多方法来加载本地文件,例如图像或视频。我尝试使用

  • normalizeUrl(来自 ionic-angular)
  • 正则表达式并替换本地文件路径:path.replace(/^file:///, '')
  • window.Ionic.WebView.convertFileSrc()

None 以上对我有用。我可以加载本地文件的唯一方法是使用

window['Ionic']['WebView'].convertFileSrc(path);

希望它如你所愿。我只在 Android

上测试过

更新 您可以使用 win.Ionic.WebView.convertFileSrc(),就像第三个项目符号一样,只有当您声明 win:any = window 时。 将胜利定义为任何对我有用的技巧 -

this.tempSchemeImagePath = window['Ionic']['WebView'].convertFileSrc(nativeURL);

在 ionic-webview 突然停止工作后,在 iOS 上遇到了同样的问题,所以我卸载并重新安装了插件:

cordova 插件删除 cordova-plugin-ionic-webview

cordova 插件添加 cordova-plugin-ionic-webview

window.Ionic.WebView.convertFileSrc 又开始像魅力一样工作了。