Это может быть проблема с вашим действием 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: Я был в состоянии загрузить объекты в S3 ведро над SSL, используя этот HTML & Policy.Check форма действия.
Политика:
{
"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>
Вы должны знать, как генерировать кодированный политику и подпись.
Если вы укажете URL-адрес HTTPS с пользовательским ведром, он вызовет ошибку SSL, так что это не вариант, к сожалению. –
Мне удалось использовать HTTPS-url с пользовательским ведром. например https://s3.amazonaws.com//. Проверьте обновление моего ответа. –
shashankaholic
Спасибо! Мне нужно проверить источник библиотеки, которую я использую, чтобы увидеть, как она генерирует подпись. –