【发布时间】:2021-04-02 10:54:26
【问题描述】:
我正在从第三方 API 获取 PDF 报告,我想将该 PDF 直接上传到 s3。当我这样做时,它会将 PDF 上传到 s3,但由于某种原因,当我在 s3 中打开该 PDF 时,所有页面都是空白的。我做错了什么?我的代码如下。
var report = reportInfo.body;
const params = {
Key: 'report.pdf',
Body: report,
Bucket: process.env.S3_BUCKET_NAME,
ContentType: 'application/pdf',
};
s3.upload(params, (err, res) => {
if (err) {
console.log(err, 'err');
}
console.log(res, 'res');
});
我将来自 API 的响应分配给 report 对象。响应的一部分如下所示:
'%PDF-1.5\n%����\n1 0 obj>流\nx��\�n$�\r�����~�0 �@�&1���>x�6�f����PU�U�a���mf����V�D�yHQ�փ��~$gF7�?��_/�� ���/��[�?��=�Ѓv��????�F?u��ǿS3�d��k��:O�����X�k���2�k ��\t˿?�������XY�Ի��Ti-3�y��y�u3�Q~���E?�g����攻f_I4��'>>> �$�&����e��G���0�1Go�@M��&�jҚ�YJ3�zmhz��0��q^g��j�J����}O�fi �xz&f�0�ǜ�^���yj���mm{�OM/B{z��%+��H�Ɣl4
我认为这是纯 PDF,我可以直接将其上传到 s3。在上传之前我需要做些什么吗?为什么只上传空白页?
谢谢
【问题讨论】:
-
首先,请您删除不可读的上下文。否则社区会反对你的问题。
-
reportInfo.body来自哪里?它应该是缓冲区、blob 或流。 -
它来自 REST API。您对此有何建议?