python:使用文件上传和其他参数解析HTTP POST请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python:使用文件上传和其他参数解析HTTP POST请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1273字,纯文字阅读大概需要2分钟。
内容图文
![python:使用文件上传和其他参数解析HTTP POST请求](/upload/InfoBanner/zyjiaocheng/651/8e370c1db2674ec6b2a57c3d004e818b.jpg)
任务很简单:在服务器端(python)接受HTTP POST,该POST包含上载的文件和更多表单参数.
我正在尝试实现上传进度指示器,因此我需要能够逐块读取文件内容.
我发现的所有方法都基于cgi.FieldStorage,它只能以某种方式允许我完整地获取文件(在内存中,这本身就是一场灾难).有人建议重新定义FieldStorage.make_file method(),这似乎破坏了cgi的实现(很奇怪…).
我目前能够逐块读取整个wsgi输入到文件系统,从而得到以下数据:
-----------------------------9514143097616
Content-Disposition: form-data; name="myfile"; filename="inbound_marketing_cartoon_ebook.pdf"
Content-Type: application/pdf
... 1.5 MB of PDF data
-----------------------------9514143097616
Content-Disposition: form-data; name="tid"
194
-----------------------------9514143097616--
有谁知道是否有任何Python库可以可靠地解析此内容?
还是应该手动执行此操作? (就是Python 2.5)
谢谢.
解决方法:
如您所建议,我将(并且之前已经做过)重写FieldStorage对象的make_file方法.只需返回一个对象,该对象具有一个write方法,该方法既可以接受数据(到文件或内存中,也可以拥有您所拥有的数据),还可以跟踪进度指示器已收到多少.
这样,您还可以访问文件的长度(由客户端提供),文件名以及在其下发布的密钥.
为什么这似乎会破坏您的CGI实施?
另一个选择是在浏览器中使用Flash上??载器进行进度跟踪(想到YUI Uploader和SWFUpload),并完全跳过在服务器上对其进行跟踪.然后,您不必具有一系列AJAX请求即可获得进度.
内容总结
以上是互联网集市为您收集整理的python:使用文件上传和其他参数解析HTTP POST请求全部内容,希望文章能够帮你解决python:使用文件上传和其他参数解析HTTP POST请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。