【发布时间】:2021-11-27 12:42:47
【问题描述】:
我将 pdf blob 对象上传到 S3
const params = {
Bucket: "poster-print-bucket",
Key: Date.now().toString() + ".pdf",
Body: blob,
contentType: "application/pdf",
};
const uploaded = await S3.upload(params).promise();
当我打开一个网址时,即https://poster-print-bucket.s3.ca-central-1.amazonaws.com/1633526785678.pdf 它给我下载了一个空白的pdf
我想我的 blob 可能已损坏或其他原因,但我设法将相同的 blob 上传到 Firebase 存储就好了。
顺便说一句,我正在使用 nextjs api/upload-poster 路由
发生了什么事?
【问题讨论】:
-
您是否尝试过将 blob 转换为 base64? stackoverflow.com/questions/18650168/convert-blob-to-base64
-
错误
Failed to load PDF document.打开网址时 -
将
ContentMD5扔在那里也可以验证它实际上正在上传。您可能还需要try/catch以确保没有错误并且上传实际上已完成,然后再继续。 -
我对 ContentMD5 不熟悉。它如何帮助验证它是否已上传?我在我的 S3 存储桶中看到它已上传。文件大小似乎也是我所期望的,但是 pdf 为空白是非常奇怪的
标签: javascript node.js amazon-web-services amazon-s3