[英]How do I upload pdf file/blob to S3?
我正在使用 react-pdf 庫,它為我生成了一個 blob 和 url,如文檔中所示: https://react-pdf.org/advanced#on-the-fly-rendering Blob object 從控制台復制:
{blob: Blob}
blob: Blob
size: 3597607
type: "application/pdf"
[[Prototype]]: Blob
[[Prototype]]: Object
我嘗試將其上傳到 S3。 前端代碼:
const fileName = Date.now().toString() + ".pdf";
const file = new File([blob], fileName);
axios
.post("api/upload-poster", {
fileName,
file,
})
.then(({ data }) => console.log(data));
后端代碼(nextjs 處理程序):
const { fileName, file } = req.body;
const params = {
Bucket: "my-bucket-name",
Key: fileName,
Body: file,
contentType: "application/pdf",
};
const uploaded = await S3.upload(params).promise();
res.status(200).json({ uploaded });
我收到錯誤Error: Unsupported body payload object
根據AWS.S3.Upload的文檔,您需要傳遞一個緩沖區,blob object 或 stream。
將 blob object -而不是 blob URL - 作為參數的一部分傳遞回您的params
並且您的代碼的 rest 應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.