离子3:本地图像不';在Android上无法显示
我正在使用我的Ionic 3应用程序中的管道修改本地捕获图像的URL,以便它们可以显示在离子3:本地图像不';在Android上无法显示,android,ionic-framework,ionic3,Android,Ionic Framework,Ionic3,我正在使用我的Ionic 3应用程序中的管道修改本地捕获图像的URL,以便它们可以显示在 在我的index.html中,我有以下内容以防万一: import { Pipe, PipeTransform } from '@angular/core'; import { normalizeURL, Platform } from 'ionic-angular'; import { DomSanitizer } from '@angular/platform-browser'; @Pipe({
在我的index.html中,我有以下内容以防万一:
import { Pipe, PipeTransform } from '@angular/core';
import { normalizeURL, Platform } from 'ionic-angular';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'localImage',
})
export class LocalImagePipe implements PipeTransform {
constructor(private platform: Platform, private domSanitizer: DomSanitizer) { }
transform(url) {
console.log('input:', url);
let result;
if (this.platform.is('android')) {
result = this.domSanitizer.bypassSecurityTrustUrl(url);
} else {
result = normalizeURL(url);
}
console.log('output', JSON.stringify(result));
return result;
}
}
这方面是否有任何错误或警告?每当我在与您的上下文类似的情况下处理图像时(我将html画布的光栅图像创建为blob,然后进行渲染),我都必须处理角度安全问题(对所有图像URL使用domsanizer)。我想知道您对meta的更改是否真的解决了Android上的此类问题。是的,我收到了错误:8100/#/tabs/media/add:1不允许加载本地资源:file:///data/user/0/com.example.mobile/files/1527606953669.jpg
尝试使用DOMSanizer-。我想你需要这个:我修改了我的管道,在Android上使用了domsanizer.bypassSecurityTrustUrl
,但是我仍然得到同样的错误。我会用更多细节更新我的问题。不!我也学到了一些东西
file:///var/mobile/Containers/Data/Application/325C2BBA-FCA9-4838-974F-9F84BDF2F6F5/Library/NoCloud/1527606661016.jpg
http://localhost:8080/var/mobile/Containers/Data/Application/325C2BBA-FCA9-4838-974F-9F84BDF2F6F5/Library/NoCloud/1527606661016.jpg
file:///data/user/0/com.example.mobile/files/1527606953669.jpg
<ion-row>
<ion-col col-6 *ngFor="let m of media">
<img [src]="m | localImage">
</ion-col>
</ion-row>
<meta http-equiv="Content-Security-Policy" img-src '*'>