实现上传文件的页面
表单
<form action='' method='post' enctype="multipart/form-data">
<input type='file' name='fileupload'>
</form>
from bottle import route,run
htmlstr = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bottle</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name = "fileupload"/>
<input type="submit" value="上传文件" />
</form>
</body>
</html>
"""
@route('/upload')
def index():
return htmlstr
run(host='localhost',port=80,debug=True,reloader=True)
实现接受上传文件业务函数
uf = request.files.get(‘name’)
FileUpload类
- 实例属性
- file:服务器端保存的上传文件的file-like对象
- name :上传文件表单名
- raw_filename:客户端原始文件名
- filename:适应于服务器端的标准化后的文件名
- 方法
- save(path,overwrite=False)
- 实例属性
过滤并处理文件
- 保存文件:uf.save(path)
- 注意上传文件的安全过滤
from bottle import route,run,request
htmlstr = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bottle</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name = "fileupload"/>
<input type="submit" value="上传文件" />
</form>
</body>
</html>
"""
@route('/upload',method=['GET','POST'])
def index():
if request.method == 'GET':
return htmlstr
else:
uf = request.files.get('fileupload')
uf.save(uf.filename,)
return "上传文件完成,已经保存在服务器端"
run(host='localhost',port=80,debug=True,reloader=True)
在服务器端查看文件