Изображение Base64 сломано IOS - PullRequest
0 голосов
/ 14 октября 2019

У меня проблема с воспроизведением изображений 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>

1 Ответ

0 голосов
/ 15 октября 2019

Попробуйте вместо этого использовать [src] = "image".

Вместо этого вы можете также использовать destinationType: this.camera.DestinationType.FILE_URI. Когда я использовал base64, у меня возникал сбой в работе приложения, когда размер выбранного изображения велик.

Если вы решили использовать file_uri, импортируйте {normalizeURL} из 'ionic-angular';и используйте его как normalizeURL (imagePath);перед отображением изображения.

Надеюсь, что это поможет.

...