首页 > 解决方案 > Node JS pdf文件返回损坏

问题描述

我在从 API 重新调整 PDF 时遇到问题。

当我通过 Postman 调用 API 时,它工作得很好,我得到了正确的 pdf,但是当我通过 Node JS 调用服务时,我得到了一个具有正确页数的 PDF,但是内容已损坏,因此页面为空白。

我一直在使用文本比较网站比较正确 pdf 和空白 pdf 的内容。

我发现在缓冲区中发送响应会减少与正确文件不同的字符数,但是我仍然会收到额外的字符。

例如。

<�L f3d%6��\��dH@�DŽ����W>�I�P��b��9'ԏ6��(正确)<�L f3d%6��\��dH@ �DŽ����W>���I�P��b��9'ԏ6��(腐化)

有什么想法我哪里出错了吗?


服务电话

const data = await instance.get('pdfreport');
const file = new Buffer(data.data, 'utf8');
return file;

控制器

const getPdf = await req.services.pdf.get();
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Length', getPdf.length);
res.send(getPdf);

标签: node.jsrestpdfcharacter-encoding

解决方案


推荐阅读