基于浏览器的上传到 Amazon S3?
Posted
技术标签:
【中文标题】基于浏览器的上传到 Amazon S3?【英文标题】:Browser Based Uploads to Amazon S3? 【发布时间】:2010-11-17 05:25:17 【问题描述】:Amazon 提供了有关如何编写通过 html POST 直接发布到 Amazon 的 S3 服务的表单的说明。 但是,他们对如何创建一个简单的表单直接上传到 S3 存储桶不是很清楚,并且从未给出实际的示例 html 文件...
是否有可以查看示例代码的好示例?
【问题讨论】:
这里的可下载示例有一个很好的 php 类,用于创建和签署策略(表单所需的“策略”和“签名”字段)。 aws.amazon.com/code/1618?_encoding=UTF8&jiveRedirect=1 【参考方案1】:这是来自上述文档的一段 html 代码。我认为这是不言自明的,但如果您遇到任何麻烦,请告诉我。
<form action="http://johnsmith.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
Key to upload: <input type="input" name="key" value="user/eric/" /><br />
<input type="hidden" name="acl" value="public-read" />
<input type="hidden" name="success_action_redirect" value="http://johnsmith.s3.amazonaws.com/successful_upload.html" />
Content-Type: <input type="input" name="Content-Type" value="image/jpeg" /><br />
<input type="hidden" name="x-amz-meta-uuid" value="14365123651274" />
Tags for File: <input type="input" name="x-amz-meta-tag" value="" /><br />
<input type="hidden" name="AWSAccessKeyId" value="15B4D3461F177624206A" />
<input type="hidden" name="Policy" value="POLICY" />
<input type="hidden" name="Signature" value="SIGNATURE" />
File: <input type="file" name="file" /> <br />
<!-- The elements after this will be ignored -->
<input type="submit" name="submit" value="Upload to Amazon S3" />
【讨论】:
感谢亚历克斯的留言。我得到它的工作。你知道这是否可以使用 swfupload 来实现?如果是这样,我可以在任何地方获得任何示例代码吗?我试过谷歌搜索,但没有运气 嗨,我只是想问一下是否可以仅使用临时凭据在 s3 中上传?【参考方案2】:Browser-Based Uploads Using POST to Amazon S3
【讨论】:
是的,获胜答案中的亚马逊说明是我遇到的问题。【参考方案3】:current documentation for POST on S3 解释得很好。 (这个帖子有点过时了)
【讨论】:
【参考方案4】:有一个使用 swfupload 的非常基本的上传实用程序。 https://github.com/cyberbuff/ZenS3
免责声明:我开发了它。
【讨论】:
以上是关于基于浏览器的上传到 Amazon S3?的主要内容,如果未能解决你的问题,请参考以下文章
从客户端浏览器直接上传 Amazon S3 文件 - 私钥泄露