您的位置:首页 > 编程语言 > Python开发

webpy+uploadify实现文件异步上传

2014-06-06 16:57 351 查看
  Uploadify的官方文档见链接:点击打开链接

  程序结构图

   


  源代码

$def with ()
<!--file_upload.html-->
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>uploadify</title>
<script type="text/javascript" src="../static/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="../static/js/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="../static/js/upload_file.js"></script>
<link rel="stylesheet" href="../static/css/uploadify.css">
</head>
<body>
<form method="post" aciton="">
<div id="file_upload_holder">
<input type="file" id="file_upload" />
</div>
</form>
</body>
</html>

//upload_file.js
//文件上传
$(function() {
$("#file_upload").uploadify({
height: 30,
removeCompleted : false,
swf: '../static/flash/uploadify.swf',
formData: {},
uploader: '/',
width: 80,
'onUploadSuccess': function(file, data, response) {
var result = jQuery.parseJSON(data);
alert(result.msg);
},
});
});

#-*-coding:utf-8-*-
import os
import json

import web

urls = (
'/', 'UploadFile',
)

app = web.application(urls, globals())

web.config.debug = True

#原始模板渲染对象
render = web.template.render('templates/', cache=False)

class UploadFile:
""" 文件上传 """
def GET(self):
return render.file_upload()

def POST(self):
data = web.input()
filename = data.get('Filename')
filedata = data.get('Filedata')
fullname = os.path.join('static/uploads', filename)
try:
fout = open(fullname, 'wb')
fout.write(filedata)
fout.close()
except Exception, e:
traceback.print_exc()
return json.dumps({'success':0, 'msg':u'文件上传失败! %s...' % e[1]})
else:
return json.dumps({'success':1, 'msg':u'文件上传成功!'})

if __name__ == "__main__":
app.run()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息