ios - Base64 图像损坏 ios

标签 ios typescript ionic-framework base64

我在显示 Base64 图像时遇到问题。

当我以 Base64 格式从相机上传图像时,我可以通过 ionic devapp 显示它,但是当我从 Xcode 构建它并在我的 ios 设备上本地运行它时,图像显示为损坏的图像。

有人能解释一下吗?

谢谢!

private choosePicture() {
        const options = {
            quality: 100,
            destinationType: this.camera.DestinationType.DATA_URL,
            encodingType: this.camera.EncodingType.JPEG,
            mediaType: this.camera.MediaType.PICTURE,
            sourceType: 0,
            correctOrientation: true
        };

        this.camera.getPicture(options).then((imagePath) => {
            let base64Image = 'data:image/jpeg;base64,' + imagePath;

            let images = this.createClass.get('imagePath') as FormArray;
            images.push(new FormControl(base64Image));
        }, (err) => {
            if(err !== 'no image selected') {
                this.logError(err);
            }
        });
    }

和我的 html

<ion-col col-6 col-md-4 col-xl-3 *ngFor="let image of createClass.controls['imagePath'].value; let i = index">
     <img src="{{ image }}"/>
</ion-col>

最佳答案

尝试使用 [src]="image"代替。

您还可以选择使用destinationType:this.camera.DestinationType.FILE_URI。我在使用 Base64 时的经验是,当选择的图像尺寸很大时,我的应用程序崩溃了。

如果您选择使用 file_uri, 从 'ionic-Angular' 导入 {normalizeURL};并将其用作 normalizeURL(imagePath);在显示图像之前。

希望这对您有所帮助。

关于ios - Base64 图像损坏 ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58380822/

相关文章:

c# - c# 中的 Apple 推送通知服务代码服务器端

ios - 我正在用 Objective C 创建一个框架,它需要一个好的构造函数模式

iOS 如何将文本字段中的数据保存在核心数据中并在表格 View 中显示这些数据?

ios - 从 UITableViewRowAction 触发 segue

typescript - Vue + Typescript vue-router 和参数类型

ionic-framework - ionic 实时重新加载功能不重新加载应用程序

android - 如果 gps 关闭, ionic 显示错误

javascript - 从现有属性创建新数组

typescript - 不能将 new 与表达式 typescript 一起使用

javascript - 从 Angular 组件中的服务捕获 promise 中的错误