それはあなたのHTMLのFORMアクションといくつかの問題がある可能性があります。
The action specifies the URL that processes the request, which must be set to the URL of the
bucket. For example, if the name of your bucket is "johnsmith", the URL
is "http://johnsmith.s3.amazonaws.com/".
詳細については、このAmazon S3のドキュメントのリンクをご確認ください: http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTForms.html#HTTPPOSTFormDeclaration
をこの上の他の記事もあります。 Amazon S3 - HTTPS/SSL - Is it possible?
UPDATE: は、私は、このHTML & Policy.Checkフォームアクションを使用してSSL経由でS3バケットにオブジェクトをアップロードすることができました。
ポリシー:
{
"expiration": "2012-06-04T12:00:00.000Z",
"conditions": [
{"bucket": "<YourBucketName>" },
{"acl": "public-read" },
["eq", "$key", "testImage.jpg"],
["starts-with", "$Content-Type", "image/jpeg"],
]
}
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="https://s3.amazonaws.com/<YourBucketName>/" method="post" enctype="multipart/form-data">
<input type="text" name="key" value="testImage.jpg" />
<input type="text" name="acl" value="public-read" />
<input type="text" name="content-type" value="image/jpeg" />
<input type="hidden" name="AWSAccessKeyId" value="<YOUR ACCESS KEY>" />
<input type="hidden" name="policy" value="<YOUR GENERATED POLICY>" />
<input type="hidden" name="signature" value="<YOUR GENERATED SIGNATURE>" />
<input name="file" type="file" />
<input name="submit" value="Upload" type="submit" />
</form>
</body>
</html>
あなたがエンコードされたポリシーと署名を生成する方法を知っている必要があります。
カスタムバケットとHTTPSのURLを指定した場合、それは、SSLエラーがスローされますので、それは残念ながらオプションではありません。 –
カスタムバケットでHTTPS urlに成功しました。 https://s3.amazonaws.com//のように。私の答えの更新を確認してください。 –
shashankaholic
ありがとう!私はそれがどのように署名を生成しているのかを見るために使っているライブラリのソースを調べなければならないでしょう。 –