Я хочу создать подписанный URL с настраиваемым типа контента, я пытался это:Как установить тип содержимого при создании подписанного URL-адреса для объекта в s3 aws?
s3.getSignedUrl('getObject', {Bucket: AWS_BUCKET_NAME, Key: 'myObjectsKey', ContentType: 'image/png'}, function (err, url) {
console.log(err, url);
});
однако это дает ошибку:
{ [UnexpectedParameter: Unexpected key 'ContentType' found in params]
message: 'Unexpected key \'ContentType\' found in params',
code: 'UnexpectedParameter',
time: Thu Dec 18 2014 01:38:19 GMT-0400 (AST) }
Что я нахожу странным, что документация по подписанию запросы здесь:
http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
утверждает, что подпись сделана из хеширования:
Подпись = URL-код (Base64 (HMAC-SHA1 (YourSecretAccessKeyID, UTF-8-Encoding-Of (StringToSign))));
StringToSign = HTTP-VERB + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Expires + "\n" +
CanonicalizedAmzHeaders +
CanonicalizedResource;
Это позволяет вам предоставить контент-тип. Кто-нибудь знает, что происходит?
Вы пытались дать '-' (дефис) в Contenttype? – Anubhab
yep, такая же ошибка – Macmee