我正在使用 NodeJS 將檔案上傳到 s3,并且我在上傳時為 pdf 設定了正確的 contentType。它看起來像這樣,
const params = {
Bucket: "noob_bucket",
Key: newFileName,
Body: fs.createReadStream(path),
ContentType: 'application/pdf',
ACL: 'private',
};
現在的問題是,當我嘗試使用簽名 URL 顯示 pdfon 瀏覽器時,它僅在檔案大小大約小于 25MB 時才在瀏覽器中打開,否則它只是下載檔案。
誰能幫我解決這個問題。我也有大于 50MB 的檔案。
請幫我解決這個問題。提前致謝
uj5u.com熱心網友回復:
控制 PDF 檔案是否作為附件顯示或下載的content-disposition標題是標題。inline如果您希望內容顯示在瀏覽器中,則應該是這樣。
您可以在上傳檔案時在引數中顯式設定它:
const params = {
Bucket: "noob_bucket",
Key: newFileName,
Body: fs.createReadStream(path),
ContentType: 'application/pdf',
ContentDisposition: 'inline',
ACL: 'private',
};
此外,當您請求預先簽名的 url 時,您可能希望設定它:
const command = new GetObjectCommand({
Bucket: 'noob_bucket',
Key: newFileName,
ResponseContentDisposition: 'inline',
ResponseContentType: 'application/pdf',
});
const url = await getSignedUrl(s3Client, command, { expiresIn: 3600 });
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/380350.html
