Javascript I';我正试图将一个pdf文件从节点服务器下载到react客户端,但当我打开它时,它显示为空白

Javascript I';我正试图将一个pdf文件从节点服务器下载到react客户端,但当我打开它时,它显示为空白,javascript,html,node.js,reactjs,axios,Javascript,Html,Node.js,Reactjs,Axios,我只是从节点读取文件中的数据,并将内容类型作为“application/pdf”发送 我的节点版本是10 serverside.js: var file = path.join(__dirname,'Rajesh.pdf'); fs.readFile(file, function(err, data){ res.contentType("application/pdf"); res.send(data) }) clientside.js: axios.get('/api/dow

我只是从节点读取文件中的数据,并将内容类型作为“application/pdf”发送

我的节点版本是10

serverside.js:

var file = path.join(__dirname,'Rajesh.pdf');
fs.readFile(file, function(err, data){
    res.contentType("application/pdf");
    res.send(data)
})
clientside.js:

axios.get('/api/downloadcv')
      .then(res => {
        const url = window.URL.createObjectURL(new Blob([res.data]
          ,{type: "application/pdf"}))
        var link = document.createElement('a');
        link.href = url;
        link.setAttribute('download', 'resume.pdf');
        document.body.appendChild(link);
        link.click();
      })
pdf正在下载,但没有显示任何内容,当我用Vs代码打开它时,它显示了如下内容:

%PDF-1.4
%äüöß
20 obj
流动

x��\K�D�M������N�U�F���公元�d

只需添加
responseType
作为带有值
arraybuffer
的标题。你该走了

axios.get('/api/downloadcv',{responseType:'arraybuffer'})


希望有帮助

为什么要将pdf内容放在dom上?一个简单的“在新窗口中打开”或“下载”属性将执行相同的操作。。。谢谢你,为什么没有人这样回答。这一整天我都在工作。你救了我的命,兄弟,浪费了大约12个小时的时间。这是正确的答案。。OP应该接受这一点。。