AWS S3 createPresignedPost与getSignedUrl。我应该使用哪一个从客户端上传各种文件?

时间:2018-10-04 22:37:12

标签: amazon-web-services amazon-s3 file-upload aws-sdk

在S3文档上,有createPresignedPostgetSignedUrl

在getSignedUrl上:

  

注意:使用预签名时并非支持所有操作参数   网址。某些参数,例如SSECustomerKey,ACL,Expires,   发送内容时,必须提供ContentLength或Tagging作为标题   请求。如果您使用预先签名的URL从浏览器上传,并且   需要使用这些字段,请参见createPresignedPost()。

createPresignedPost是否只是getSignedUrl的更可定制的版本? 它在下面做同样的事情吗?

1 个答案:

答案 0 :(得分:2)

如果要限制用户上传超出一定大小的文件,则应使用createPresigendPost,并指定ContentLength

使用getSignedUrl时,对象大小没有限制,用户可以将5TB对象(当前对象限制)上载到s3


请注意,如果可以在调用getSignedUrl('putObject',params,callback)时在params中指定ContentLength 你会被扔掉

Presigning post data encountered an error { UnexpectedParameter: ContentLength is not supported in pre-signed URLs.

此主题上有一个issue