Я пытаюсь использовать функцию moveFile, которая предоставляется из собственного плагина файла, я не могу загрузить скриншоты, так как это частный проект, принадлежащий моей компании, но я постараюсь объяснить столько, сколькоя могу использовать собственный плагин камеры, чтобы делать фотографии, камера работает очень хорошо, и фотографии показываются, но когда я пытаюсь использовать метод плагина собственного файла (moveFile), просто чтобы переместить снятые фотографии в каталог файлов, а не в кеш, ничего не происходит!file и fileError импортируются на странице TS, файл также предоставляется в модуле приложения
Вот мой TS (обновлен):
getImageFromCamera() {
const options: CameraOptions = {
quality: 20,
saveToPhotoAlbum: true,
destinationType: this.camera.DestinationType.FILE_URI,
sourceType: this.camera.PictureSourceType.CAMERA,
encodingType: this.camera.EncodingType.JPEG,
allowEdit: true
};
this.camera.getPicture(options).then((imageData) => {
this.imageUrl = imageData;
let imageName = imageData.substr(imageData.lastIndexOf('/') + 1);
this.file.checkDir(this.file.externalRootDirectory, 'DEMO')
.then(() => {
this.fileCreated = true;
}, (err) => {
});
if (this.fileCreated) {
}
else {
this.file.createDir(this.file.externalRootDirectory, "DEMO", true)
.then((res) => {
}, (err) => {
});
}
let tempPath = this.imageUrl.substr(0, this.imageUrl.lastIndexOf('/') +1);
let androidPath = this.file.externalRootDirectory + '/DEMO/';
this.file.moveFile(tempPath, imageName, androidPath, imageName)
.then((res) => {
this.file.readAsDataURL(androidPath, imageName)
.then((res) => {
this.images.push(res);
}, (err) => {
console.log("Error in Image Get Path---");
console.log(JSON.stringify(err));
});
}, (err) => {
});
// this.toDataURL(this.imageUrl, function (dataUrl) {
// console.log('RESULT:' + dataUrl);
// this.images.push(this.imageUrl);
// });
}, (err) => {
console.log(JSON.stringify(err));
});
}
toDataURL(url, callback) {
let xhr = new XMLHttpRequest();
xhr.onload = function () {
let reader = new FileReader();
reader.onloadend = function () {
callback(reader.result);
};
reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.send();
}
Мой HTML
<ion-item>
<h5>Choose files to upload</h5>
<button (tap)="getImageFromCamera()" item-end ion-button round outline
color="sideBar">Upload</button>
</ion-item>
<ion-slides *ngIf="images.length >= 1">
<ion-slide style="float: left;" *ngFor="let image of images; let i =
index;" class="image-container">
<ion-icon (tap)="onDeletePhoto(i)" class="icon-container" name="close-
circle"></ion-icon>
<img [src]="image" width="100">
</ion-slide>
</ion-slides>
<ion-item>
Как вы можете видеть, я попытался просмотреть 4 параметра на экране с помощью строки photoError, и все выглядит очень хорошо, старый путь верен, имя, новый путь и новое имя верны, но изображениене перемещается из папки с картинками, я обнаружил, что папка с файлами на моем телефоне пуста, а изображение все еще находится в папке с картинками; строка imageUrl также показывает правильный путь к изображению (новый), когда я пытаюсь установитьimageUrl по старому пути, также изображение не отображается, я попробовал приложение на другом устройстве Android, также та же проблема, так что это не с моего телефона.
У кого-нибудь есть идеи?если у вас есть какие-либо вопросы, на которые я не дал ответа, не стесняйтесь спрашивать.