簡體   English   中英

如何將大文件從 Laravel 上傳到 Amazon S3?

[英]How to upload large files to Amazon S3 from Laravel?

我希望用戶上傳大文件(如高清視頻和大 PDF),並使用這行代碼上傳文件。 Storage::disk('s3')->putFile('uploads', new File($request->file('file_upload')));

問題是即使我的網速很好,上傳文件也需要很長時間。 我該怎么做才能更快地上傳文件?

該過程實際上涉及兩個網絡調用。

  1. 從客戶端,文件被上傳到您的服務器。
  2. 通過服務器到服務器調用,文件從您的服務器上傳到 s3。

減少延遲的唯一方法是使用客戶端 SDK 安全地將文件從客戶端直接上傳到 s3。 這樣,文件將直接存儲在 S3 存儲桶中。

通過 AWS S3 客戶端 SDK 將文件上傳到 s3 后,您可以將文件的屬性與下載的 URL 一起發布到 Laravel 並將其更新到 DB。

這種方法的優點是它允許您在客戶端顯示實際的文件上傳進度。

這可以通過 AWS amplify 庫完成,該庫提供與 S3 的出色集成: https://docs.amplify.aws/start

其他選項:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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