首先uploadify插件的官网为http://www.uploadify.com/
效果特别好看,而且可以选择性的配置,重点是上传实现异步上传。以前在java项目中用过,
今天结合express用了下。下面为部分说明
首先用
app.use(express.bodyParser({ keepExtensions: true, uploadDir:__dirname+'/public/upload/' }));
代替app.js中的app.use(express.bodyParser());
这里设置路径为public下的自己创建的文件夹upload。当做文件存储目录
下面为routes下的index.js的路由配置:
var assert= require('assert')
,constant=require('./util/Constant');
exports.upload = function(req, res){
//var name=req.body.userid;
var fileDesc=req.files;
var imgname=fileDesc.Filedata.name;
var path=fileDesc.Filedata.path;
var index=path.indexOf(constant.uploadFile);
var name=path.substring(index);
var imgurl=constant.DomainUrl+":"+constant.DomainPort+"/"+name;
console.log(imgurl);
res.send(imgurl);
};
下面是执行主函数js的配置
$(function() {
$('#file_upload').uploadify({
'swf' : '/images/uploadify.swf',
'formData':{
'userid':'用户id',
'username':'用户名',
'rnd':'加密密文'
},
'cancelImg ':'/images/uploadify-cancel.png',
'fileTypeExts' : '*.gif; *.jpg; *.png',
'simUploadLimit ':'2',
'uploader' : '/fileupload',
'onUploadSuccess' : function(file, data, response) {
// alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data);
var img="<img src=\""+data+"\"/>";
$("#img_box").append(img);
}
});
});
然后是html页面的配置
<!DOCTYPE html>
<html>
<head>
<title>My Uploadify Implementation</title>
<link rel="stylesheet" type="text/css" href="/stylesheets/uploadify.css">
<style type="text/css">
.input_frame{
height: 70px;
}
.img{
width: 550px;
position: absolute;
margin-top: 50px;
}
.img img{
width: 100px;
height: 100px;
margin-left: 10px;
z-index: -99;
}
</style>
</head>
<body>
<div class="input_frame">
<input type="file" name="file_upload" id="file_upload" />
</div>
<div id="img_box" class="img"></div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/javascripts/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="/javascripts/test.js">
</script>
</body>
</html>
ps:排版真的烂透了。