我正在使用Sails构建服务器,该服务器应该从端点提取pdf内容并在响应中发送它。我该怎么做呢 到目前为止,这是我尝试过的:
fn: async function (inputs, exits) {
const downloadLink = this.req.param('link');
const pdf = (await axios.get(downloadLink, { responseType: 'blob'
})).data
if (!downloadLink || !pdf) {
throw 'not found';
}
this.res.attachment('abc').send(pdf);
return exits.success();
}
但是,这似乎不起作用。我在chrome中安装了pdf.js,可显示pdf内容。当我尝试运行上面的代码时,它尝试打开文件,但最终显示错误“ pdf内容无效”
答案 0 :(得分:0)
以下似乎可以解决问题:
fn: async function (inputs, exits) {
const downloadLink = this.req.param('link');
const pdf = (await axios.get(downloadLink, { responseType: 'arraybuffer'
})).data
if (!downloadLink || !pdf) {
throw 'not found';
}
this.res.attachment('abc.pdf').send(pdf);
return exits.success();
}
请注意,响应类型从blob
更改为arraybuffer
。