cai*_*lin 5 ionic-framework ionic-native ionic3
你如何显示用户@ionic-native/camera在 Ionic 3 中使用的 FILE_URI 图像?
我可以使用 Ionic Native 的 Camera 获取 FILE_URI 图像 URL,结果如下:
file:///var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX/tmp/cdv_photo_005.jpg
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过引用视图模板中的 URI 将此图像显示回用户时,该图像永远不会加载。
我尝试过的事情:
- 直接在视图中使用图像 URI
<img src="{{profile.image}}"> // Never loads
Run Code Online (Sandbox Code Playgroud)
- 通过包含DomSanitizer在页面组件中来清理 URI :
<img [src]="domSanitizer.bypassSecurityTrustUrl(profile.image)"> // Never loads
Run Code Online (Sandbox Code Playgroud)
由于性能拖累,我宁愿不使用 base64 图像。我在这里做错了什么?
从“离子角度”导入{normalizeURL};ionic3 <img> 标签 src
<img *ngIf="base64Image" src="{{base64Image}}"/>
openCamera(pictureSourceType: any) {
let options: CameraOptions = {
quality: 95,
destinationType: this.camera.DestinationType.FILE_URI,
sourceType: pictureSourceType,
encodingType: this.camera.EncodingType.PNG,
targetWidth: 400,
targetHeight: 400,
saveToPhotoAlbum: true,
correctOrientation: true
};
this.camera.getPicture(options).then(imageData => {
if (this.platform.is('ios')) {
this.base64Image = normalizeURL(imageData);
// Alternatively if the problem only occurs in ios and normalizeURL
// doesn't work for you then you can also use:
// this.base64Image= imageData.replace(/^file:\/\//, '');
}
else {
this.base64Image= "data:image/jpeg;base64," + imageData;
}
}, error => {
console.log('ERROR -> ' + JSON.stringify(error));
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10680 次 |
| 最近记录: |