【发布时间】:2021-10-08 17:08:09
【问题描述】:
我可以将所有文件保存在存储桶中,但下载有困难。
我的代码是:
$url = Storage::disk('s3')->temporaryUrl(
$request->file, now()->addMinutes(10)
);
return Storage::disk('s3')->download($url);
存储在$request->file中的完整文件路径
示例路径:https://bucket_name.privacy_region_info/folder_inside_bucket/cTymyY2gzakfczO3j3H2TtbJX4eeRW4Uj073CZUW
我得到了休闲https://prnt.sc/1ip4g77
我不明白生成临时Url 的目的吗?如何从 S3 非公共存储桶下载文件?
顺便说一句,我正在使用 Laravel 8 和 League/flysystem-aws-s3-v3 1.0.29。
【问题讨论】:
-
查看您的 AWS 权限,注意“任何人都可以创建一个,但要使其可用,它需要由具有权限的人创建”docs.aws.amazon.com/AmazonS3/latest/userguide/…
-
1) AWS 用户是否分配了正确的权限才能从私有存储桶下载?用户将需要为其分配明确的权限。这可以通过 AWS 中的 IAM 策略来完成
-
@edd-smith 我认为可能是这种情况。我的许可prnt.sc/1j0m5xh。我还必须向我的管理员询问读取权限。感谢两位花时间回答
标签: laravel amazon-web-services amazon-s3