s3上传文件后请求 [英] s3 uploading file post request

查看:84
本文介绍了s3上传文件后请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过发帖请求将文件上传到亚马逊s3.问题是我不知道如何将请求格式化为多部分表单.

I am trying to upload a file via a post request to amazon s3. Trouble is I don't know how to format the request to be a multipart form.

这就是我现在拥有的:

content_type = "image/JPEG"
key = 'uploads/filename.jpg'
acl = "public-read"
bucket = None

params_raw = create_upload_data(content_type,key,acl,bucket)

params = { 'policy': params_raw['policy'],'acl':acl,'signature':params_raw['signature'],'key':params_raw['key'],'Content-Type':params_raw['Content-Type'],'AWSAccessKeyId':params_raw['AWSAccessKeyId'],'success_action_status':params_raw['success_action_status'],'binary': binary_data}
r = requests.post(params_raw['form_action'],data=params)

我认为我收到了不好的答复,因为它不是多部分形式,但这是答复文本的样子:

I think I am getting a bad response because it isn't a multipart form but here is what the response text looks like:

{"request": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Conflicting query string parameters: acl, policy</Message><ArgumentName>ResourceType</ArgumentName><ArgumentValue>acl</ArgumentValue><RequestId>D558E016151E448F</RequestId><HostId>WT5aT0OOqJx3ziPgYFzjuTHJSERaCcuJG+y/acs6+l/mWVwO0MiH3lhWyBWIdhKr9BnhdIpkarw=</HostId></Error>"}

如何使用文件构造请求...在base 64中是.jpg?

How do I structure the request with the file... it is a .jpg in base 64?

推荐答案

更改内容类型就足够了

content-type =  'multipart/form-data'

这篇关于s3上传文件后请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆