【发布时间】:2020-05-08 03:31:40
【问题描述】:
我正在将图像上传到s3,将绝对 URL 保存在我的数据库中,然后在我的前端显示它们。我看到了两个问题 - 第一个是我需要在上传时将它们标记为公开:
$path = $image->storeAs('folder', md5('file_name.jpg'), ['disk' => 's3']);
Storage::disk('s3')->setVisibility($path, 'public');
$url = Storage::disk('s3')->url($path);
第二个问题是我在网站中使用的url里面明显有bucket的名字,例如:
<img src="https://bucket-name-staging.s3.eu-central-1.amazonaws.com/folder/84b4b3j4j34j12j3123h21jh321k312312.jpg">
这也使得它有时会被 adblock 阻止。这是推荐的方法吗?如果图像在s3 存储桶中是私有的,我可以在网站上显示它们吗? (我试过了 - 但这是 403 的回复)。
【问题讨论】:
标签: php laravel amazon-web-services amazon-s3 image-uploading