У меня есть приложение, которое позволяет пользователю выбрать фотографию из галереи или сделать фотографию с помощью камеры.Я пытаюсь отобразить изображение, которое было снято с помощью камеры, и оно работает нормально, оно возвращает путь к файлу, например
file:///Users/ray/Library/Developer/CoreSimulator/Devices/C8202B3B-300B-4819-8CD3-4C4AA690CE7C/ data/Applications/D82BF64E-6DD1-4645-B637-BCF65001FD29/tmp/cdv_photo_003.jpg
, но когда я пытаюсь выбрать фотографию из галереи, она показывает уменьшенное изображение, уменьшенное изображение,и он превращает путь к файлу, как.
content://com.android.providers.media.documents/document/image%3A21
Ионная версия CLI: PRO 4.2.1
Cordova Verion: 8.0.0
Версия NPM: 6.4.1
Версия Node.js: 8.11.3
Платформа: Android
Я также пытался найти решение, но оно не сработало, или я все еще делаю что-то не так
Некоторые из них предлагают использовать этот код
if (imageURI.substring(0,21)=="content://com.android") {
photo_split=imageURI.split("%3A");
imageURI="content://media/external/images/media/"+photo_split[1];
}
, но это решение не настолько серьезная причинане все источники изображений возвращают один и тот же путь к файлу, который содержит «content: //com.android», как фотографии, полученные с Google Photos , которая возвращает «content: //com.google.android'*»1061 *
_Некоторые из них также предлагают использовать DATA_URL для тип назначения , но это занимает много памяти и может привести к сбою приложения.
Вотмой код:
файл TS
selectImage(sourceType) {
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
saveToPhotoAlbum: true,
sourceType: sourceType
}
this.camera.getPicture(options).then((imageData) => {
let base64Image = 'data:image/jpeg;base64,' + imageData;
this.imagePreview = imageData;
}, (err) => {
this.toastCtrl.presentToast(err);
});
}
HTML-файл
<img src="{{imagePreview}}" />;
Я надеюсь, что кто-то может помочь мне сэтот.Заранее спасибо ?.
ПОЖАЛУЙСТА, ПОМОГИТЕ !!!ПОЖАЛУЙСТА ...