我正在尝试使用下面的boto3创建预签名-url。
s3 = boto3.client(
's3',
aws_access_key_id=settings.AWS_ACCESS_KEY,
aws_secret_access_key=settings.AWS_ACCESS_SECRET,
region_name=settings.AWS_SES_REGION_NAME,
config=Config(signature_version='s3v4')
)
metadata = {
'test':'testing'
}
presigned_url = s3.generate_presigned_url(
ClientMethod='put_object',
Params={
'Bucket': settings.AWS_S3_BUCKET_NAME,
'Key': str(new_file.uuid),
'ContentDisposition': 'inline',
'Metadata': metadata
})因此,在生成URL之后,我尝试使用Ajax将其上传到S3,它禁止使用403号。如果在创建URL时删除元数据和ContentDisposition,它将被成功上传。
Boto3版本: 1.9.33
下面是我所指的文档:url
发布于 2018-12-07 09:12:54
是的,我让它正常工作,基本上在生成签名URL之后,我需要发送所有元数据和内容-在标题中的分解以及签名的URL。对于示例:我的元数据字典是{'test':'test'},那么我需要将这个元数据发送到报头,即x-amz-meta-test以及它的值和content-dispostion
https://stackoverflow.com/questions/53649888
复制相似问题