【问题标题】:How to upload file to AWS s3 in Lumen如何在 Lumen 中将文件上传到 AWS s3
【发布时间】:2020-05-26 13:23:00
【问题描述】:

我正在用 Lumen 编写一个应用程序,为前端框架提供 API。我正在努力将文件上传到 S3。 我遵循的步骤。

  • 使用
  • 配置 .env 文件

AWS_ACCESS_KEY_ID=AKXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS_DEFAULT_REGION=me-south-1 AWS_BUCKET=your_bucket_name AWS_URL=https://apigateway.me-south-1.amazonaws.com

  • 使用 composer 为 Laravel 安装 AWS 开发工具包

    作曲家需要 aws/aws-sdk-php-laravel:~3.0

  • 现在这样写函数

    public function upload(Request $request)
    {
        $image = $request->file('image');
        $imageFileName = time() . '.' . $image->getClientOriginalExtension();
        $s3 = Storage::disk('s3');
        $filePath = '/venue/' . $imageFileName;
        $s3->put($filePath, file_get_contents($image));
        return response()->json(['status' => true, 'data' => $imageFileName], Response::HTTP_OK);
    }
    

如果有人能分享一篇文章或完整的教程来说明如何做到这一点,那就太好了。

【问题讨论】:

  • 谢谢@NiravBhoi,我这里用的是Lumen,可以吗?
  • 是的,因为 lumen 是 laravel 的孩子。但请先创建备份。
  • 我知道,但有些功能在 Lumen 中不可用。无论如何,我会尝试你提到的包。

标签: laravel amazon-s3 lumen


【解决方案1】:

你需要这个依赖:

composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"

见: https://laravel.com/docs/8.x/filesystem

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2021-02-02
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多