我想使用请求模块(Python 3)上传图像。可悲的是,服务器回答我的请求时出错,说我应该只上传jpg,png或gif类型的文件。 我想我应该填写表格的每个字段,但我想弄清楚尽管我的所有测试都是如此。
以下是HTML表单:
<form class="upload" enctype="multipart/form-data" action="?action=upload" method="post">
<h3>Envoyez votre image !</h3>
<input name="MAX_FILE_SIZE" value="15360000" type="hidden" />
<input name="img" size="30" type="file" />
<input value="Envoyer" type="submit" />
</form>
我使用这个Python代码:
with open(image, 'rb') as img:
toup = {'img': (os.path.basename(image), img)}
res= requests.post('http://url/?action=upload', files = toup)
如何填写MAX_FILE_SIZE
字段并指定上传文件的类型?
答案 0 :(得分:1)
你可以set the mime type文件:
toup = {'img': (os.path.basename(image), img, 'image/jpeg')}
要获取文件的确切MIME,您可以使用mimetypes库。
答案 1 :(得分:0)
MAX_FILE_SIZE似乎是一个普通的HTTP POST数据:
with open(image, 'rb') as img:
toup = {'img': (os.path.basename(image), img)}
res= requests.post('http://url/?action=upload', files = toup, data={'MAX_FILE_SIZE': '15360000'})