x = web.input(myfile={})是一个类字典对象,会返回所有GET或POST的数据

括号内部用来设置myfile的默认值,以防请求中根本就没有myfile键

定义如下一个表单

    form = web.form.Form(
web.form.Textbox('title', web.form.notnull,
size=30,
description="标题"),
web.form.Textarea('content', web.form.notnull,
rows=8, cols=80,
description="正文"),
web.form.File('myfile', description='文件'),
web.form.Button('button', description='提交'),
)

便可通过表单中各元素的名称访问表单的数据

x['title']是一个字符串,而x['myfile']是一个FieldStorage对象

myfile = x['myfile']
myfile.filename #文件标题
myfile.value #文件的二进制数据
myfile.file.read() #同样可以获得文件的二进制数据

对于文件的二进制数据,就像普通文件一样打开一个文件,将数据写入其中,最后关闭就可以了

    filedir = 'upload'
if file.filename:
filepath = file.filename.replace('\\','/') #问题:文件名中存在路径分隔符?
fout = open(filedir + '/' + str(num), 'wb')
fout.write(file.value)
fout.close()

最新文章

  1. About me
  2. C#对.zip 存档读取和写入
  3. IOS-Foundation框架结构
  4. NDK开发之一
  5. 深入浅出设计模式——模板方法模式(Template Method Pattern)
  6. 白手起家搭建django app
  7. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境
  8. Ⅳ.AngularJS的点点滴滴-- 服务
  9. in_array严格模式和普通模式的区别
  10. Solr导入数据库数据
  11. iOS项目生成通用Windows应用
  12. iOS使用sqlite3原生语法进行增删改查以及FMDB的使用
  13. 条码知识之十:EAN-128条码(下)
  14. xcode单步调试快捷键
  15. 局域网内部署 Docker Registry
  16. uC/OS-II 内存管理
  17. 学习笔记之Linux / Shell / QSHELL
  18. trinitycore 魔兽服务器源码分析(二) 网络
  19. 九校模拟——餐馆(restaurant)
  20. Spring Cloud(Dalston.SR5)--Eureka 常用配置

热门文章

  1. iphone6 iPhone6 Plus的导航栏等高度
  2. Sightseeing(dijlstar) 计算最短路和次短路的条数
  3. ELK6.0环境搭建及配置
  4. jQuery图表插件Flot中文文档
  5. Tomcat免安装版+Eclipse配置
  6. Freemarker的配置与使用
  7. 【BZOJ】1229 [USACO2008 Nov]toy 玩具
  8. JS之window对象
  9. Intel MKL(Math Kernel Library)
  10. linux系统引导流程