[英]Laravel Upload PDF to S3 and set Metadata
我希望你們一切都好。 我只花了大約 4 個小時試圖弄清楚如何將 pdf 文件上傳到 AWS s3 存儲桶並將其 Metadata Content-Disposition 設置為附件,因此當用戶單擊預簽名的 URL 時,它會自動下載文件我的代碼如下所示:
$path = Storage::disk('s3')->getDriver()->put(
// FILENAME
'/lender-statement/' . $lender->user->getName() . '.pdf',
// FILE
$pdf->output(),
// MetaData
[
'Content-Disposition' => 'attachment; filename="mypdf.pdf"',
'Metadata' => [
'Content-Type'=> 'application/pdf',
'Content-Disposition' => 'attachment'
]
]
);
但是當我在 AWS 上檢查元數據時,它位於“x-amx-metacontent”而不是“Content-Disposition”
不要使用Content-Disposition
鍵,而是使用ContentDisposition
它將起作用。
另外,您不需要使用getDriver()
Storage::disk('s3')->put($file_path, $pdf->output(), [
'ContentDisposition' => 'attachment'
]);
請注意,這種從名稱中刪除-
的邏輯也適用於其他元數據鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.