Ionic 2:CameraPreview插件,如何处理给定的URI?

时间:2016-08-11 06:29:28

标签: file cordova camera base64 ionic2

我来到这里是因为我在离子2项目中使用离子原生的CameraPreview类来拍照,我实际上很难对图片的路径感到困惑: assets-library://资产/ asset.JPG?ID = ...

这种类型的网址显然无法在DOM中呈现,我想知道如何将其转换为img或ion-img标记支持的网址。

我尝试使用File.readAsDataURL()转换它,因为它在以下链接中建议,但promise会返回一个空字符串。

https://www.npmjs.com/package/cordova-camera-preview http://ionicframework.com/docs/v2/native/file/

1 个答案:

答案 0 :(得分:0)

您可以通过http作为Blob加载它,然后将其设置为img的src。

以下示例:

git submodule update --remote --recursive

记下消毒功能。这是绕过默认浏览器安全性所必需的 - 请参阅https://stackoverflow.com/a/37432961/3446442

在此示例中,img标记绑定到previewImage变量:

this.http.get(fileURI, new RequestOptions({responseType:ResponseContentType.Blob}))
            .subscribe(
                data => {
                    var blob = data.blob();
                    this.previewImage = this.sanitize(URL.createObjectURL(blob));
                    this.cd.detectChanges();
                });