簡體   English   中英

Laravel 上傳PDF到S3並設置Metadata

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM