Я пытаюсь загрузить изображение, снятое с плагина Nativescript Camera Plus (тип ImageSource), и загрузить его на мой API-сервер с помощью плагина Nativescript HTTP Form Data.Я уже проверил свой бэкэнд (Django) с помощью Postman, и он работает.Я не могу понять, как перейти из ImageSource к реальному файлу PNG / JPG, содержащему это изображение, чтобы загрузить его отдельно (а не данные ImageSource).
Я пытался использовать сам объект ImageSource,но это отправляет пустой файл.Затем я попытался следовать демонстрации плагина HTTPFormData и использовал UIImageRepresentation и растровые изображения (ios / Android), но он по-прежнему отправляет пустой файл.
let fd = new TNSHttpFormData();
let params = [];
let imageData: any;
if(this.scannedID.image_data) {
if(this.scannedID.image_data.ios) {
console.log("iOS" + this.scannedID.image_data.width + " " + this.scannedID.image_data.height);
imageData = this.scannedID.image_data.ios.UIImagePNGRepresentation;
} else {
let bitmapImage = this.scannedID.image_data.android.graphics.Bitmap;
let stream = this.scannedID.image_data.android.java.io.ByteArrayOutputStream();
bitmapImage.compress("PNG", 100, stream);
let byteArray = stream.toByteArray();
bitmapImage.recycle();
imageData = byteArray;
}
}
let param: TNSHttpFormDataParam = {
data: imageData,
contentType: 'image/png',
fileName: 'idtest1.png',
parameterName: 'image'
};
params.push(param);
console.log("Parameters: " + JSON.stringify(param));
console.log(params[0].data);
try {
const response: TNSHttpFormDataResponse = await fd.post(this.apiURL + 'VerificationID/', params, { headers: this.createRequestHeader(false) } );
console.log(response);
return response;
} catch (e) {
console.log(e);
return e;
}
Он выводит ширину / высоту, поэтому язнаю, что изображение там.Я считаю, что мой .ios.UIImagePNGRepresentation не возвращает PNG, как я хочу.Если я выводю параметр, который я создаю с файлом, он выводит все данные объекта, кроме «данных» (которые должны быть фактическими данными файла).Я не уверен, куда идти отсюда.Любая помощь будет оценена!