axios React -下载的pdf为空白

06odsfpq  于 2023-01-20  发布在  iOS
关注(0)|答案(1)|浏览(250)

首先,我发送一个获取pdf数据的GET请求

const config = {
  headers: {
    'Content-Type': 'application/json',
     Accept: 'application/json',
  },
  baseURL: 'https://my-site.com',
};
const axiosInstance = axios.create({config});
 
const pdf = await axiosInstance.get('url', {
        headers: { Authorization: 'Bearer ' + accessToken, Accept: '*/*' },
})

pdf的值与以下值相同

然后我试着下载文件

const url = window.URL.createObjectURL(new Blob([pdf]));
    const link = document.createElement('a');
    link.href = url;
    link.setAttribute('download', `FileName.pdf`);

    // Append to html link element page
    document.body.appendChild(link);

    // Start download
    link.click();

我可以成功下载pdf文件,但打开时pdf是空白的。
怎么解决呢?

pwuypxnk

pwuypxnk1#

通过添加responseType: 'blob'修复此问题

const pdf = await axiosInstance.get('url', {
        headers: { Authorization: 'Bearer ' + accessToken, Accept: '*/*' },
        responseType: 'blob',
})

相关问题