ошибка HTTP сбой во время синтаксического анализа URL при обработке ответа создание файла Excel

#javascript #typescript #angular7 #angular-directive #angular-components

#javascript #typescript #angular7 #angular-директива #angular-компоненты

Вопрос:

Я работаю над файлом загрузки приложения angular 7. Я заставляю приложение Angular загружать файлы

итак, сначала я выбираю файл, а затем нажимаю кнопку загрузки

затем я ожидаю, что получу файл, загруженный в качестве выходных данных, но этого не произойдет

приложение angular не вернуло загруженный файл, поэтому у меня возникла проблема с ответом angular, и мне нужно это исправить

Я проверяю покой angular, я получаю ошибку HTTP failure во время синтаксического анализа ссылки в строке 115, как показано на рисунке ниже.

строка 115 Ошибка angular on line post подписка

 this.http.post('https://localhost:44396/api/ApprovalQuality/', formData).subscribe(
  (data) => {},
  (error) => {
    console.log(error);
  },
);
 

в ответе выше он должен вернуть файл Excel, но он отображает ошибку

ошибка Сбой HTTP во время синтаксического анализа строки URL 115 и не создание файла Excel

Полный код

component.html

 <input type="file" id="file" (change)="handleFileInput($event.target.files)" />

<button type="button" class="btn btn-success" (click)="uploadFile(files)">
  Upload File
</button>
 

component.ts

 fileToUpload: File = null;

handleFileInput(files: FileList) {
  this.fileToUpload = files.item(0);
}
public uploadFile = (files) => {
  const formData = new FormData();

  formData.append('file', this.fileToUpload, this.fileToUpload.name);

  this.http
    .post('https://localhost:44396/api/ApprovalQuality/', formData)

    .subscribe(
      (data) => {},
      (error) => {
        console.log(error);
      },
    );
};
 

файл ответа не создает файл Excel

Комментарии:

1. спасибо за ответ, не могли бы вы, пожалуйста, написать код ответа, завершенный после изменения кодом, пожалуйста

2. если возможно, можете ли вы показать мне ответ по коду

3. только если возможно, вы можете написать пример кода к своему ответу, пожалуйста, мне нужно знать, где написать тип ответа text / plain и где установить application / oct-stream и где написать url.createobjecturl

Ответ №1:

У вас есть text/plain тип репозитория, он должен быть установлен application/octet-stream . А затем вы можете использовать blob и URL.createObjectURL для загрузки файла Excel.

Комментарии:

1. только если возможно, вы можете написать пример кода к своему ответу, пожалуйста, мне нужно знать, где написать тип ответа text / plain и где установить application / oct-stream и где написать url.createobjecturl