python 解析from-data数据
最近在自己尝试使用python基于wsgiref写小型后端框架时
需要从前端上传文件到后台,那么要在前端表单中需要添加
enctype="multipart/form-data"
这样后台拿到的数据不能使用
urllib.parse.parse_qs
解析,原因是"multipart/form-data"数据长得比较奇怪(如下),这个库解析不了
POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyb1zYhTI38xpQxBK
------WebKitFormBoundaryyb1zYhTI38xpQxBK
Content-Disposition: form-data; name="city_id"
1
------WebKitFormBoundaryyb1zYhTI38xpQxBK
Content-Disposition: form-data; name="company_id"
2
------WebKitFormBoundaryyb1zYhTI38xpQxBK
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png
PNG ... content of chrome.png ...
------WebKitFormBoundaryyb1zYhTI38xpQxBK--
只需要使用
multipart
这个库就好了
他有一个
multipart.parse_form_data()
方法,详情可以看他的源码 我就不多赘述了