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