gpt4 book ai didi

laravel - Php laravel 将文件直接上传到 AWS S3 存储桶

转载 作者:行者123 更新时间:2023-12-04 15:24:51 33 4
gpt4 key购买 nike

任何人都可以帮助我如何使用 PHP laravel 将文件上传到 aws S3 存储桶中。但是文件应该使用预签名的 URL 直接上传到 S3。

最佳答案

我将尝试回答这个问题。因此,有两种方法可以做到这一点:

  • 您将预签名的 URL 发送到前端客户端,让他们直接将文件上传到 S3,一旦上传,他们就会通知您的服务器。
  • 您直接在服务器上接收文件并将其上传到 S3,在这种情况下,您不需要任何预先签名的 URL,因为您已经在项目中配置了 AWS 访问。

  • 由于解决方案 1 是不言自明的,我将尝试解释解决方案 2。
    Laravel 提供 Storage用于处理文件系统操作的外观。它遵循多个驱动程序的理念 - Public , Local Disk , Amazon S3 , FTP加上扩展驱动程序的选项。
    第 1 步:使用 AWS key 配置您的 .env 文件,您需要以下值才能开始使用 Amazon S3作为司机:
  • AWS key
  • AWS secret
  • AWS 存储桶名称
  • AWS 存储桶区域

  • 第 2 步:假设您已经将文件上传到您的服务器。我们现在将文件从我们的服务器上传到 S3。
    如果您有提到 s3作为默认磁盘,以下代码段将为您上传:
    Storage::put('avatars/1', $fileContents);
    如果您使用多个磁盘,您可以通过以下方式上传文件:
    Storage::disk('s3')->put('avatars/1', $fileContents);
    我们完了!您的文件现已上传到您的 S3 存储桶。在 S3 存储桶中仔细检查它。

    如果你想了解更多关于 Laravel 存储的信息, click here .

    关于laravel - Php laravel 将文件直接上传到 AWS S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62485387/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com