saritasa / laravel-s3-uploads
此包已被弃用且不再维护。未建议替代包。
laravel-s3-uploads
1.2.0
2021-02-02 13:40 UTC
Requires
- php: >=7.1
- illuminate/database: ^5.4 || ^6.0
- illuminate/http: ^5.4 || ^6.0
- illuminate/support: ^5.4 || ^6.0
- league/flysystem-aws-s3-v3: ^1.0
- saritasa/dingo-api-custom: ^2.2
- saritasa/php-common: ^1.1
Requires (Dev)
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^3.0
README
Laravel API 用于 S3 上传
使用方法
安装 saritasa/laravel-s3-uploads
包
$ composer require saritasa/laravel-s3-uploads
根据 Laravel 手册 配置 Storage::cloud()
磁盘以支持 AWS S3
此包暴露了 POST <API_PREFIX>/uploads/tmp
路由,使用 Dingo/Api 路由器。它接受以 application/json
格式的请求
{ "fileName": "image.jpg" }
并返回包含 S3 预签名 URL 的响应
{ "uploadUrl": "https://my-bucket.s3-us-west.amazonaws.com/tmp/1341234uoi123lhkj1.jpg?<WRITE_SIGNATURE=...>", "validUntil": "2017-04-12T23:20:50.52Z", "fileUrl": "https://my-bucket.s3-us-west.amazonaws.com/tmp/1341234uoi123lhkj1.jpg?<READ_SIGNATURE=...>" }
- uploadUrl 可用于前端
PUT <uploadUrl>
上传到 S3。 - fileUrl 是预签名 URL,可用于在上传后在前端读取该文件(假设您的 S3 存储桶对新文件默认策略为设置 'private' ACL)。
配置
您可以使用 config/media.php
修改默认上传路径或预签名 URL 的过期超时。
贡献
查看 CONTRIBUTING 和 Code of Conduct,如果您想做出贡献(pull request)或只是在您自己的环境中构建和测试项目。