как установить тип содержимого в multipart / form-data в angular 7 - PullRequest
4 голосов
/ 04 февраля 2020

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

Я пытаюсь загрузить файл на мой сервер. Ниже моя первая попытка установить заголовки на multipart/form-data. Ниже мой сервис для загрузки файла.

uploadNewFile (formData): Observable<any> {
    const headers = new HttpHeaders();
    headers.set('Content-Type', undefined);
    return this.http.post(environment.baseURL+'api/v1/company/someFileUpload' , formData, {headers: headers})
      .pipe(
        catchError(this.formatErrors)
      );
  }

Но когда я делаю это, я получаю эту ошибку.

Ошибка: Multipart: Граница не найдена

Но затем, увидев этот вопрос ( Отправьте файлы multipart / form-data с помощью angular, используя $ http ), я изменил свой заголовок на это.

const headers = new HttpHeaders();
headers.set('Content-Type', undefined)

Но когда я его так изменил, я получаю эту ошибку.

enter image description here

Но когда я проверяю aswer на эту ошибку, он говорит, что мне нужно добавить обработчик сюда ( Uncaught TypeError: Невозможно прочитать свойство 'ngOriginalError' undefined в getOriginalError - когда httpClient вернул строку )

Но у меня есть обработчик для моей службы. Служба вставлена ​​ниже.

uploadNewFile (formData): Observable<any> {
    const headers = new HttpHeaders();
    headers.set('Content-Type', undefined);
    return this.http.post(environment.baseURL+'someFileUpload' , formData, {headers: headers})
      .pipe(
        catchError(this.formatErrors)
      );
  }

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 16 апреля 2020

Проверьте наличие перехватчиков, потому что вы могли установить тип cintent для приложения json в перехватчиках

...