gpt4 book ai didi

amazon-s3 - Coldfusion CFUPLOAD 到 S3 权限问题 - 无法查看图像

转载 作者:行者123 更新时间:2023-12-02 22:52:05 25 4
gpt4 key购买 nike

使用 Coldfusion,我成功地将图像上传到 Amazon S3 存储桶和文件夹。我可以确认该文件在那里。这是代码:

<cfparam name="attributes.bSubmit" default="" />

<cfif Trim(attributes.bSubmit) NEQ "">
<cfset local.filePath = "#application.Config.cdnDirAbs#/public/" />
<cffile action="upload" filefield="tFile" destination="#local.filePath#" nameconflict="makeunique" charset="utf-8" />
<cfoutput>DONE UPLOAD</cfoutput>
<cfoutput>
<img src="#application.Config.staticContentDirAbs#/public/#cffile.clientfile#">
</cfoutput>
</cfif>

<form method="post" enctype="multipart/form-data">
Select a File
<input type="file" name="tFile" />
<input type="submit" value="Submit" name="bSubmit" />
</form>

如您所见,我正在将图像文件上传到 Amazon S3 存储桶的“public”文件夹。

该文件夹“public”具有为“所有用户”设置的“READ”权限。

但是,当图片上传时,并不会继承此权限。

因此,当我尝试显示图像时,它不显示。当我在浏览器中通过其 url 查看它时,它会显示带有消息“AccessDenied”的 xml。

如果我手动将该图像/对象的权限设置为对所有用户进行读取并运行该页面,或再次查看该网址,则它可以工作。

如何让上传的对象继承其父文件夹(“public”)的READ权限。或者,上传图像后如何设置上传图像/对象的权限?

谢谢!

更新:我还添加了 S3 存储桶策略,它几乎已经完成了工作。使用下面的策略,我现在可以查看上传的图像,当我右键单击图像并选择“在新选项卡中打开图像”时,我也可以很好地查看它。

但是,如果我复制图像的 URL 并将其粘贴到新的浏览器选项卡中并单击 Enter,在该特定情况下它仍然会给出“ACCESSDENIED”错误。这很奇怪。有什么想法吗?

{
"Version": "2008-10-17",
"Id": "Policy1380565312345",
"Statement": [
{
"Sid": "Stmt1380565312345",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mysitedev/*",
"Condition": {
"StringLike": {
"aws:Referer": "*"
}
}
}
]
}

最佳答案

最初您缺少完整的 S3 存储桶策略,但我们在评论中对此进行了讨论。

看起来您好像已经使用其支持页面中的模板设置了策略。

一个严重错误 - 您填写了 Condition 子句,这意味着存储桶将寻找原因来阻止请求通过。在您的情况下,您指定了预期的引荐来源网址,这意味着任何在新选项卡中复制并粘贴直接链接的人都将被阻止。

我怀疑您的代码现在看起来像这样,删除了您的条件:

{
"Version": "2008-10-17",
"Id": "Policy1380565312345",
"Statement": [{
"Sid": "Stmt1380565312345",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mysitedev/*"
}]
}

并且您的存储桶正在接受公众查看该内容的所有请求。享受吧!

关于amazon-s3 - Coldfusion CFUPLOAD 到 S3 权限问题 - 无法查看图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com