我正在尝试使用预签名 URL 上传对象。但我想将对象与标签一起上传。正确的方法是什么?
方法一:
我尝试了以下红宝石代码:
signer = Aws::S3::Presigner.new
signer.presigned_url(:put_object, bucket: bucket_name, key: url, tagging: 'taggingName=tagValue')
但这只是上传对象,而不是添加标签。
方法二:
我尝试将“x-amz-tagging”标头列入白名单,并尝试从客户端上传文件以及标头。
红宝石代码:
signer = Aws::S3::Presigner.new
url = signer.presigned_url(:put_object, bucket: bucket_name, key: public_url, whitelist_headers: ['x-amz-tagging'])
客户端代码:
return $http({
method: 'PUT',
url: presigned_url,
ignoreLoadingBar: true,
data: file,
headers: {
'Content-Type': file.type,
'x-amz-tagging': 'taggingName=tagValue'
}
})
但这在上传说“x-amz-tagging”未签名时给我一个错误。
我正在使用 aws-sdk-ruby v3 (Ror)