- tornado是python的web框架,這里簡單記錄下利用tornado怎么實現文件的上傳,其中web.py上傳功能類似。
直接用代碼說明:
代碼來自:http://my.oschina.net/chenlei123/blog/127563
#!/usr/bin/python
#-*- encoding:utf-8 -*-
import tornado.ioloop
import tornado.web
import os
class UploadFileHandler(tornado.web.RequestHandler):
def get(self):
self.write('''
<html>
<head>
<title>Upload File</title>
</head>
<body>
<form action='file' enctype="multipart/form-data" method='post'>
<input type='file' name='file'/><br/>
<input type='submit' value='submit'/>
</form>
</body>
</html>
''')
def post(self):
upload_path=os.path.join(os.path.dirname(__file__),'files') #文件的暫存路徑
file_metas=self.request.files['file'] #提取表單中‘name’為‘file’的文件元數據
for meta in file_metas:
filename=meta['filename']
filepath=os.path.join(upload_path,filename)
with open(filepath,'wb') as up: #有些文件需要已二進制的形式存儲,實際中可以更改
up.write(meta['body'])
self.write('finished!')
app=tornado.web.Application([
(r'/file',UploadFileHandler),
])
if __name__ == '__main__':
app.listen(3000)
tornado.ioloop.IOLoop.instance().start()
其中注意利用form上傳的html代碼的寫法。另外就是tornado獲取post數據的方法。
- web前端開發中比較有用的資源bootscrap: http://www.bootcss.com/
- bootscrap中分頁插件: http://bootstrappaginator.org/#minimum-configuration
- js腳本構造form(表單)提交的類
轉自:http://runtool.blog.163.com/blog/static/183144445201272053421155/
function FormManager(url,method){ //表單提交管理
if(method.toLowerCase()!="post" && method.toLowerCase()!="get"){ //method字段設置不正確
alert("error:set method get or post!");
return false;
}
this.form=document.createElement("form"); //創建提交表單
this.form.method=method;
this.form.action=url;
this.put=function(key,value){ //添加參數隊列
var myinput=document.createElement("input");
myinput.type="hidden";
myinput.name=key;
myinput.value=value;
this.form.appendChild(myinput);
}
this.submit=function(){ //提交表單
alert(this.form.innerHTML);
document.body.appendChild(this.form);
this.form.submit();
}
//使用
var url="http://www.swu.edu.cn";
var method="post1";
var myform=new FormManager(url,method);
myform.put("name","handonghai");
myform.put("sex","boy");
myform.put("age","23");
myform.submit();
