AWS S3 Bucket将特定文件夹及其中的所有文件公开

stackved12

我的laravel中有一个函数可以在s3存储桶中上传和镜像:

$disk = Storage::disk('s3');
$disk->put($request->path . '/' . $request->file_name, base64_decode($request->file));

问题是无法访问新上传的图像。

现在,我public在S3存储桶中有一个名为

我想要的是默认情况下,public文件夹及其中的所有图像(旧的和新上传的)都可以公开访问。

约翰·罗滕斯坦

要将文件夹在Amazon S3存储桶中设为“公共”,您可以将存储桶策略附加到存储桶:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Effect":"Allow",
      "Principal": "*",
      "Action":"s3:GetObject",
      "Resource":["arn:aws:s3:::my-bucket/my-folder/*"]
    }
  ]
}

这样,任何人都可以GetObjectmy-bucket存储桶中检索对象(如果该对象在my-folder/路径中)。

请注意,它并没有让桶的上市。因此,他们将需要知道对象的确切名称才能检索它。

要添加存储桶策略,您首先需要在存储桶上停用S3阻止公共访问以启用存储桶策略(第3和第4个选项)。

以上所有方法的替代方法是ACL=public-read在Amazon S3中创建文件时进行设置这使单个对象公开。(这样做需要禁用S3 Block Public Access的前两个选项。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS S3 允许读取除特定文件夹之外的所有对象

Python - 从特定文件夹/子文件夹 AWS S3 下载数据

删除文件夹及其内容AWS S3 Java

AWS S3中的空文件夹

在AWS S3存储桶的特定“文件夹”中列出文件

将文件从Box文件夹复制到AWS s3存储桶

如何使用 python 3.8 将文件上传到 AWS S3 子文件夹?

如何使用AWS CLI更新文件夹中所有S3对象的ACL?

IAM AWS S3限于特定的子文件夹

将对象放在AWS S3红宝石中的特定文件夹中

从AWS S3读取多个文件

使用AWS S3中的所有文件,其中deleteAfterRead = false

有什么方法可以将移动存储中的文件夹与AWS S3存储桶中的文件夹同步?

将包含空子文件夹的文件夹上传到S3(使用AWS Java SDK)

将 AWS s3 与 django 连接

向没有AWS账户的用户授予对AWS S3存储桶/文件夹的访问权限

AWS S3存储桶中特定文件夹内html文件上的Content-Encoding标头

当文件上传到 S3 中的特定文件夹时,您能否触发 AWS lambda 函数?

AWS S3 Java SDK未将文件复制到文件夹

使用Python从Public AWS S3下载文件/文件夹,无需凭证

AWS S3存储桶策略-仅允许文件夹中的某些文件类型

AWS S3在两个存储桶之间复制文件和文件夹

使用Shrine在文件夹之间的AWS S3存储桶上移动文件

处理嵌套 s3 文件夹中的分区 Parquet 文件的 AWS GLUE 作业失败

AWS Athena - 将新文件添加到 S3 文件夹时会发生什么

Python-无法将文件上传到AWS S3存储桶中的已定义文件夹

如何使用 Node.js 从 AWS Lambda 中的 /tmp 文件夹将 WAV 文件上传到 S3

如何使用AWS s3或AWS s3api递归更改权限到文件夹

在 Laravel 中上传后将 aws s3 文件权限设置为公开