У меня есть API, который возвращает документ Excel в качестве ответа. Запрос будет одним простым json.
Я искал в Google и нашел некоторую базу кода для загрузки файла, и я использовал его в своем приложении, но я получаю некоторые ошибки и не могу найти егорешениеНиже приведены мои коды.
component.ts
import rxjs/Rx;
details = {id: 75,name: "some name"}
this.nameService.getData(this.details).subscribe(response => {
this.downloadFile(response);
})
downloadFile(data: Response) {
const blob = new Blob([data], { type: '.xlsx' });
const url= window.URL.createObjectURL(blob);
window.open(url);
}
nameService.ts
getData(postData) {
return this.httpService.post('https://localhost:8080/getFile/', postData);
}
httpService.ts
constructor(private http: HttpClient)
post(apiEndpoint: string, request: any) :Observable<any> {
return this.http.post<any>(apiEndpoint,request);
}
свыше базы кода я получаю ниже двух ошибок, и файл не загружается.
- Получение ошибки:
"Ответ типа не назначается типуBlobpart "при создании BLOB-объекта (const blob = new Blob ([data], {type: '.xlsx'});)
Если я изменю данные как-либо (downloadFile (data: any)), вышеуказанная ошибка (1) исчезнет, но я получу ответ httperror как «Синтаксическая ошибка: неожиданный токен P в josn в позиции 0 в json. parse '
Пожалуйста, помогите, если кто-нибудь найдет решение вышеуказанных проблем.