Загрузка файла Ioni c работает на клиенте REST, но не на устройстве - PullRequest
0 голосов
/ 10 июля 2020

Я пытался реализовать захват изображения и загрузить его через 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**

У меня вопрос: почему я не могу отправить данные файла в запросе и что я делаю не так? Спасибо.

...