Jfinal+Jquery uploadify实现多文件上传实例
包文件
外部jar包
jfinal-2.0-bin-with-src.jar(JFinal核心包)
fastjson-1.2.7.jar(用于json数据的处理)
cos-26Dec2008.jar(支持JFinal自带的上传功能)
1. 引入 css,js外部文件
<link id="bscss" href="${root}/bootstrap/css/bootstrap.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="${root!}/uploadify/uploadify.css"> <link rel="stylesheet" type="text/css" href="${root!}/webUploader/style.css"><!--从官网下载的实例中有 --> <script src="${root!}/resource/front/js/jquery-1.9.1.min.js" type="text/javascript"></script> <script src="${root!}/uploadify/jquery.uploadify.min.js" type="text/javascript"></script> <script src="${root}/bootstrap/js/bootstrap.js" type="text/javascript"></script>
用来放置webuploader的dom
<form enctype="multipart/form-data" method="post"> <input type="file" id="file_upload" width="400px" > </form> <br> <ul id="url" style="padding-left: 100px"></ul>
$(function() { //上传附件 $('#file_upload').uploadify( { //校验数据 'swf' : '${root!}/uploadify/uploadify.swf', //指定上传控件的主体文件,默认‘uploader.swf’ 'uploader' : '${root!}/front/complain/uploads/${cid}', //指定服务器端上传处理文件,默认‘upload.php’ 'auto' : true, //手动上传 'buttonImage' : '${root!}/uploadify/uploadify-browse.png', //浏览按钮背景图片 'multi' : false, //单文件上传 'method' : 'post', //'fileTypeExts' : '*.gif; *.jpg; *.png; *.flv;*.avi;*.mp4;*.mp3;txt;zip;doc;zip', //允许上传的文件后缀 'fileSizeLimit' : '300MB', //上传文件的大小限制,单位为B, KB, MB, 或 GB 'successTimeout' : 35, //成功等待时间 'onUploadSuccess' : function(file, data, response) {//每成功完成一次文件上传时触发一次t var image=eval("["+data+"]")[0]; $('#url').append( "<li> "+image.fileName+"</a> </li><br/>"); //var image=eval(data); //alert(image[0]["big"]);<span ><a href='${root!}/uploadify/delete/'+image.fileName>删除</a><span> }, 'onUploadError' : function(file, data, response) {//当上传返回错误时触发 $('#url').append("<li>" + data + "</li>"); } }); });
4. 后台部分,获取文件
public class ComplainAddController extends Controller{ /** * 上传附件 */ public void uploads() { String uuid = getPara(); // 上传代码 UploadFile uf = getFile("Filedata","comFile"); //获得到了端口 String url ="/upload/comFile/"+uf.getFileName(); String fileName=uf.getFileName(); ComplainFile comFile = new ComplainFile(); comFile.setCaseId(uuid); comFile.setUrl(url); comFile.setName(fileName); comFile.setSuffiix(fileName.split("\\.")[1]); comFile.save(); setAttr("fileName",fileName); setAttr("uuid",uuid); renderJson(); } }
效果:
不过此方法不支持手机端,若电脑端和手机端兼可用,可使用百度WebUploader插件,请参考
Jfinal +百度WebUploader组件实现多图片上传
本文原创,转载必追究版权。