我创建了一个页面,用户可以从中上传文件.此代码段将这些文件发送到我的Amazon S3存储桶.
<form action="https://BUCKET.s3-eu-west-1.amazonaws.com/" method="post" enctype="multipart/form-data">
<input type="hidden" name="awsAccessKey" value="ACCESS_KEY">
<input type="hidden" name="awsSecretKey" value="SECRET_KEY">
<input type="hidden" name="acl" value="private">
<input type="hidden" name="policy" value="POLICY">
<input type="hidden" name="signature" value="SIGNATURE">
<input type="hidden" name="Content-Type" value="">
<!-- Include any additional input fields here -->
File to upload to S3:
<input name="file" type="file">
<br>
<input type="submit" value="Upload File to S3">
</form>
一切正常,但我面临着https问题.主要浏览器不信任s3-eu-west-1.amazonaws.com,并显示有关不可信连接的安全消息.
我将HTTPS连接更改为HTTP,这样我的客户就不会遇到任何问题.有人对如何解决此问题有任何想法吗?
解决方法:
您的存储桶名称中可能有一个点.亚马逊的S3通配符证书仅适用于一个级别的子域,因此bucket.s3-eu-west-1.amazonaws.com很好,而bucket.bucket.s3-eu-west-1.amazonaws.com则不是.使用此代替:
https://s3-eu-west-1.amazonaws.com/BUCKET/