laravel - 如何在 Lumen 中将文件上传到 AWS s3
问题描述
我正在用 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); }
如果有人可以分享一篇关于如何做到这一点的文章或完整的教程,那就太好了。
解决方案
你需要这个依赖:
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
推荐阅读
- c# - 尝试在服务器上创建文本文件会导致“找不到网络名称”错误
- jpa - 删除实体的 JPA EntityManager.contains(entity)
- java - Cucumber 6 未定义的自定义步骤
- javascript - 使用javascript单击多个div时添加和删除类
- javascript - 为什么我们将日期的差异除以 1000?
- node.js - 使用 NodeJs 中的消费者组从 Redis Stream 消费消息
- web-scraping - Google oauthplayground - 购物 ProductId 还是更简单的搜索 productid 的方法?
- mysql - 哪个查询消耗更少的资源更新或选择
- excel - 您如何使用带有 GETPIVOTDATA() 的 vba 中 Excel R1C1 中的可用变量编写代码以提取特定的功率数据透视表数据值
- python - 替代(python)计算两个不同集合中所有点之间的距离