Android Ionic 4加载本地资源在IOS上不工作

Android Ionic 4加载本地资源在IOS上不工作,android,ios,angular,ionic4,Android,Ios,Angular,Ionic4,我正在尝试从用户手机加载图像,裁剪它,然后显示。我正在使用webview插件来实现这一点。它可以在android上正常工作,但不能在IOS上正常工作 我试过从另一个问题,这是reslove文件未发现的错误 itemSrc = itemSrc.replace(/^file:\/\//, ''); 我还研究了NormalizeURL,但这似乎不适用于离子4 这里有一些代码 this.imagePicker.getPictures(options) .then((results: str

我正在尝试从用户手机加载图像,裁剪它,然后显示。我正在使用webview插件来实现这一点。它可以在android上正常工作,但不能在IOS上正常工作

我试过从另一个问题,这是reslove文件未发现的错误

itemSrc = itemSrc.replace(/^file:\/\//, '');
我还研究了NormalizeURL,但这似乎不适用于离子4

这里有一些代码

 this.imagePicker.getPictures(options)
     .then((results: string[]) => {
           results.forEach(res => {
              this.crop.crop(res, {quality: 50})
              .then(
                data =>{
//this is extracting the URL
this.user.photos.push(this.webview.convertFileSrc(data));
},
在这之后,用户界面应该显示裁剪后的图像,它在android上显示,但在IOS上不显示

我使用safari开发工具进行检查,错误如下:

[Error] Failed to load resource: unsupported URL (unsafe:ionic://localhost/_app_file_/Users/radmac/Library/Developer/CoreSimulator/Devices/8E6A6BFA-66FA-4DB3-B556-BCE9E2EFE33A/data/Containers/Data/Application/C39D8D99-0F67-4D33-9195-EE2B4D4E4707/tmp/cdv_photo_024.jpg, line 0)

所以,我找到了解决办法。在那之前,你可以阅读这篇博文,如果你想了解更多关于爱奥尼亚原生和图像的信息,这篇博文真的很有帮助。

解决方案是用dom sanitizer包装webview转换的src,就像这样

 const resolvedImg = this.webview.convertFileSrc(data);
 this.user.photos.push(<string>this.sanitizer.bypassSecurityTrustUrl(resolvedImg));

所以,我找到了解决办法。在那之前,你可以阅读这篇博文,如果你想了解更多关于爱奥尼亚原生和图像的信息,这篇博文真的很有帮助。

解决方案是用dom sanitizer包装webview转换的src,就像这样

 const resolvedImg = this.webview.convertFileSrc(data);
 this.user.photos.push(<string>this.sanitizer.bypassSecurityTrustUrl(resolvedImg));

您应该尝试使用angular Domsanizer bypassSecurityTrustResourceUrl()方法。您应该尝试使用angular Domsanizer bypassSecurityTrustResourceUrl()方法。