0

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

  • 配置 .env 文件

AWS_ACCESS_KEY_ID=AKXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 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);
    }
    

如果有人可以分享一篇关于如何做到这一点的文章或完整的教程,那就太好了。

4

1 回答 1

1

你需要这个依赖:

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

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

于 2021-12-06T08:58:33.450 回答