web.py任意文件上传(Windows下)

2014-11-24 13:55:51 · 作者: · 浏览: 3

web.py是一个python的web框架, 简单易用强大的功能. 以python的方式来写web.


在上传文件上, 我一直遇到点问题, 终于解决了, 记录在这里. 我在网上搜了很久, 这方面的资料好少, 希望可以帮助有需要的人, web.py还是很好用的.


以上都是参考了官方文档, 地址: http://webpy.org/cookbook/index.zh-cn


项目目录格式



说明: upload是上传文件的目录(win7下测试, 图片,文本等都正常), templates是html模板, sqlite.db是sqlite数据库文件, demo.py是源文件. run.bat和READE.txt没什么好说的.


demo.py源代码如下:


上述的代码关键的地方, fout = open(filedir +'/'+ filename,'wb')


官方文档给的例子是打开的模式是'w', 但是下面有一行说明:


[事实上,一定要以"mb"模式打开文件(在windows下), 也就是二进制可写模式, 否则图片将无法上传。]


我之前用w试着运行, 文本文件可以上传, 但是图片等文件, 就会文件错误, 于是修改成二进制文件的方式, 之后就正常了.


源代码下载:


具体下载目录在 /pub/2011/12/12/web.py任意文件上传(Windows下)/