Я использую Ionic 3 и реализовал загрузку изображений на основе этого учебного пособия от Devdactic.
Отлично работает при загрузке одного изображения. Моя проблема в том, что я хочу загрузить несколько изображений с несколькими ключами.
Это мой код:
upload.ts
функция для чтения захваченного файла:
readFile(file: any) {
const reader = new FileReader();
reader.onloadend = () => {
const formData = new FormData();
const imgBlob = new Blob([reader.result], {
type: file.type
});
formData.append('ktp', this.dataReg.ktp);
formData.append('nama', this.dataReg.nama);
formData.append('namaPerusahaan', this.dataReg.namaPerusahaan);
formData.append('alamat', this.dataReg.alamat);
formData.append('file1', imgBlob, this.images[0].name);
formData.append('file2', imgBlob, this.images[1].name);
formData.append('file3', imgBlob, this.images[2].name);
formData.append('file4', imgBlob, this.images[3].name);
formData.append('file5', imgBlob, this.images[4].name);
formData.append('file6', imgBlob, this.images[5].name);
this.uploadImageData(formData);
};
reader.readAsArrayBuffer(file);
}
функция для загрузки сохраненного изображения:
loadStoredImage() {
this.storage.get(STORAGE_KEY).then(image => {
if (image) {
let arr = JSON.parse(image);
this.images = [];
for (let img of arr) {
let filePath = this.file.dataDirectory + img;
let resPath = this.pathForImage(filePath);
this.images.push({ name: img, path: resPath, filePath: filePath });
}
console.log(this.images);
}
});
}
функция для загрузки:
startUpload(imgEntry) {
this.file.resolveLocalFilesystemUrl(imgEntry.filePath)
.then(entry => {
alert(JSON.stringify(entry));
(<FileEntry>entry).file(file => this.readFile(file));
})
.catch(_err => {
this.serverProvider.presentError('Kesalahan membaca file.');
});
}
Если кто-то знает, как обмануть загрузку нескольких изображений, пожалуйста, помогите мне. Любой совет приветствуется. Спасибо.