我只是从节点读取文件中的数据,并将内容类型发送为“ 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 Code打开它时,它显示出如下内容:
%PDF-1.4
%äüöß
2 0 obj
<</Length 3 0 R/Filter/FlateDecode>>
stream
x��\K�d�m������n�u�F���Ad�d
答案 0 :(得分:1)
只需添加responseType
作为标头,其值为arraybuffer
。你应该很好。
axios.get('/api/downloadcv', {responseType: 'arraybuffer'})
希望有帮助!