Я пытался реализовать захват изображения и загрузить его через FormData в ioni c. Я много чего пробовал, но не могу загрузить файл. Ниже приведены заголовки запроса клиента REST. Снимок экрана загрузки файла. введите описание изображения здесь
Ниже приведен фрагмент кода Ioni c для логики захвата и загрузки c
takePicture(event) {
this.camera.getPicture(this.options).then((imageData) => {
if (this.imageType === 'front') {
this.imageDataFrontUrl = (window as any).Ionic.WebView.convertFileSrc(imageData);
} else if (this.imageType === 'back') {
this.imageDataBackUrl = (window as any).Ionic.WebView.convertFileSrc(imageData);
}
debugger;
console.log(`imageData -> ${imageData}`);
this.file.resolveLocalFilesystemUrl(imageData).then((entry: FileEntry) => {
entry.file(file => {
if (file.size >= 100000) {
this.utils.showAlert('Error', 'File size exceeds 100kb');
} else {
this.readFile(file);
}
});
});
}, (err) => {
this.utils.showAlert('Error', 'Something went wrong');
});
}
readFile(file: any) {
const reader = new FileReader();
reader.onloadend = () => {
const imgBlob = new Blob([reader.result], {
type: file.type
});
const formData = new FormData();
formData.append('file', imgBlob, file.name);
this.uploadFile(formData);
};
reader.readAsArrayBuffer(file);
}
uploadFile(file: FormData) {
this.authService.fileUpload(file).subscribe(data => {
console.log(data)
});
Вышеуказанное не работает.
Так выглядят заголовки запроса:
------WebKitFormBoundarypAj335xQVljPadLR
Content-Disposition: form-data; name="file"; filename="Image.jpeg"
Content-Type: image/jpeg
------WebKitFormBoundarypAj335xQVljPadLR--
Также я включил **Content-type:multipart/form-data** in Request headers
Request fails with the response
**Status Code:400 ModSecurity Action**
У меня вопрос: почему я не могу отправить данные файла в запросе и что я делаю не так? Спасибо.