【发布时间】:2018-02-22 23:20:18
【问题描述】:
我正在开发一个网络应用程序。在我的应用程序中,我正在实现文件上传功能。我将上传的文件存储在 aws s3 存储桶中。我正在将文件上传到 s3 存储桶,如下所示。
$photo_file_path = $request->file('image_file')->store(
'images/artworks/gallery-images/'.uniqid(), 's3'
);
上面的代码工作正常。文件上传到 s3。但问题是我希望文件在上传到 s3 时公开,以便也可以从 url 访问照片。我将存储桶策略和访问控制都设置为公共。
这是我的存储桶策略
{
"Version": "2012-10-17",
"Id": "Policy1234566788",
"Statement": [
{
"Sid": "Stmt151234344545",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket"
}
]
}
但是当我从 Laravel 上传文件时,它被上传到存储桶中,但该文件仍然对公众隐藏。那么,文件上传后如何将文件权限更改为公开?
【问题讨论】:
标签: laravel amazon-web-services amazon-s3