如何从axios收到的二进制响应中保存PDF



我想从axios get收到的二进制响应中保存一个PDF。

我将以下标题传递给请求:

const config: AxiosRequestConfig = {
headers: {
Accept: 'application/pdf',
responseType: 'arraybuffer',
},
};

我想在收到二进制响应后,使用文件保护程序库下载它,特别是它的saveAs函数

我通过以下方式解决了问题:

public async report(id: number): Promise<void> {
const config: AxiosRequestConfig = {
responseType: 'blob',
headers: {
Accept: 'application/pdf',
},
};
return axios
.get(`${BASE_URL}/${id}`, config)
.catch((error: AxiosError) => axiosErrorsAdapter(error))
.then((res: AxiosResponse) => {
FileSaver.saveAs(new Blob([res.data]), `Report_Encargo_${id}.pdf`);
});
}

最新更新