angular - Ionic 4 无法显示手机拍摄的照片
问题描述
我正在使用手机拍照
takePicture(){
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE
}
this.camera.getPicture(options).then((imageData) => {
this.photo = this.webView.convertFileSrc(imageData)
}, (err) => {
// Handle error
});
在传递给 convertFileSrc 之前,图像 URL 看起来像
file:///var/mobile/Containers/Data/Application/4889FE26-A26C-42AE-9EF2-D5FAE0ECBE10/tmp/cdv_photo_007.jpg
但是当我运行它时,我会收到以下警告消息:
WARN: WARNING: sanitizing unsafe URL value ionic://localhost/_app_file_/var/mobile/Containers/Data/Application/4889FE26-A26C-42AE-9EF2-D5FAE0ECBE10/tmp/cdv_photo_007.jpg
并且图像不显示。我试图在这样的页面上显示它:
<img *ngIf="photo!=null" src={{photo}}/>
我需要对 url 做什么才能在页面中显示它?
解决方案
尝试 :
import { DomSanitizer } from '@angular/platform-browser';
constructor(private sanitizer: DomSanitizer,) {}
takePicture(){
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE
}
this.camera.getPicture(options).then((imageData) => {
this.photo = this.sanitizer.bypassSecurityTrustUrl(this.webView.convertFileSrc(imageData));
}, (err) => {
// Handle error
});
推荐阅读
- python - 制作一个按钮,使其大小适应它在 tkinter 中包含的文本
- laravel - laravel 使用带有 except 方法的验证请求
- jquery - 如何检查 setTimeout 计时器内的伪元素悬停状态?计时器导致错误
- javascript - 如何缓存图像数组?
- swift - Swifty-JSON:无法解析下划线
- mongodb - mongodb mongo-go-driver Decimal128 中的高低值是多少以及如何使用它们来创建新的小数
- java - 更改android搜索视图左侧后退箭头按钮的颜色
- java - PSQLException: ERREUR: realtion "table" 不存在
- wolfram-mathematica - Mathematica 中的方程简化问题
- perl - 通过 ftp 上传文件到特定远程目录失败