У меня есть приложение angular 7, отправляющее файл Excel и ожидающее файл Excel с моего сервера Express, например:
myAngular.service.ts
const url = 'myEndpoint';
const formData: FormData = new FormData();
formData.append('xlsx', postedExcelFile, 'myFilename');
const httpOptions = {
headers: new HttpHeaders({
responseType: 'blob'
})
};
return this.http.post(url, formData, httpOptions);
Вот код с сервера Express, который отправляет файл:
server.js
res.download(pathToMyFile);
На внешнем интерфейсе ответHttpErrorResponse
, и состояние ошибки:
SyntaxError: Unexpected token P in JSON at position 0
Я вижу, что содержимое текста ошибки - это содержимое файла Excel, что означает, что файл действительно отправляется обратно в браузер.Но по какой-то причине Angular, похоже, ожидает JSON и пытается его проанализировать.
Как видите, я добавил заголовок responseType: 'blob'
в запрос POST, чтобы он мог ожидать возврата файла,но я все еще получаю эту ошибку.Есть что-то, что я забыл добавить к запросу на сообщение?