当前位置:首页 > Web开发 > 正文

uploadfile的使用(多文件异步上传)

2024-03-31 Web开发

在页面端可以在页面不刷新情况下上传多个有大小限制的word文件,,并返回文件保存的路径,同时可以删除误上传的文件。

准备

下载该插件

该插件依赖jquery1.9.1版本(其它不清楚)
*在jsp页面中引入样式文件和js文件

</script><link href=http://www.mamicode.com/"css/uploadfile.css" rel=http://www.mamicode.com/"stylesheet"> <script src=http://www.mamicode.com/"js/jquery1.9.1/jquery.min.js"></script> <script src=http://www.mamicode.com/"js/jquery.uploadfile.min.js"></script>

编写jsp页面

表单

<form id=http://www.mamicode.com/"newsform" method=http://www.mamicode.com/"post" action=http://www.mamicode.com/"control/news/add.action" enctype=http://www.mamicode.com/"multipart/form-data" > <input type=http://www.mamicode.com/"hidden" name=http://www.mamicode.com/"columnId" value=http://www.mamicode.com/"${columnId }"> <input type=http://www.mamicode.com/"hidden" name=http://www.mamicode.com/"state" id=http://www.mamicode.com/"state" > <div id=http://www.mamicode.com/"fileuploader">上传附件</div> </form>

js函数
我是直接写在了jsp页面中

<script> $(document).ready(function() { $("#fileuploader").uploadFile({ url:"control/news/upload.action", //后台处理方法 fileName:"myfile", //文件的名称,此处是变量名称,不是文件的原名称只是后台接收的参数 dragDrop:true, //可以取消 abortStr:"取消", sequential:true, //按顺序上传 sequentialCount:1, //按顺序上传 autoSubmit :"false", //取消自动上传 acceptFiles:"application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword" , //限制上传文件格式 extErrorStr:"上传文件格式不对", maxFileCount:10, //上传文件数量 maxFileSize:1024*1024, //大小限制1M sizeErrorStr:"上传文件不能大于1M", dragDropStr: "<span><b>附件拖放于此</b></span>", showFileCounter:false, returnType:"json", //返回数据格式为json onSuccess:function(files,data,xhr,pd) //上传成功事件,data为后台返回数据 { //将返回的上传文件id动态加入的表单中,用于提交表单时返回给后台。 var newsform = $("#newsform"); if( data.status==http://www.mamicode.com/1){ for( var i=http://www.mamicode.com/0;i<data.data.length;i++){ var inputNode=http://www.mamicode.com/<input type="hidden"color: #800000;">‘+data.data[i].fileId+" value="+data.data[i].fileId+" >; newsform.append(inputNode); } }else{ alert("上传失败"); } }, showDelete: true,//删除按钮 statusBarWidth:600, dragdropWidth:600, //删除按钮执行的方法 deleteCallback: function (data, pd) { var fileId=data.data[0].fileId; $.post("control/news/deleteFile.action", {fileId:fileId}, function (resp,textStatus, jqXHR) { alert("delete ok"); //alert(textSatus); }); //删除input标签 $("#"+fileId).remove(); pd.statusbar.hide(); //You choice. } }); }); </script>

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/42153.html