如何在 Lumen 中将文件上传到 AWS s3
Posted
技术标签:
【中文标题】如何在 Lumen 中将文件上传到 AWS s3【英文标题】:How to upload file to AWS s3 in Lumen 【发布时间】: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);
如果有人能分享一篇文章或完整的教程来说明如何做到这一点,那就太好了。
【问题讨论】:
查看itsolutionstuff.com/post/… 谢谢@NiravBhoi,我这里用的是Lumen,可以吗? 是的,因为 lumen 是 laravel 的孩子。但请先创建备份。 我知道,但有些功能在 Lumen 中不可用。无论如何,我会尝试你提到的包。 【参考方案1】:你需要这个依赖:
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
见: https://laravel.com/docs/8.x/filesystem
【讨论】:
以上是关于如何在 Lumen 中将文件上传到 AWS s3的主要内容,如果未能解决你的问题,请参考以下文章