/** * 上传附件使用说明书 * (0)首先要引用该js * (1)首先需要在你的form表单内增加上一行用于上传控件的展示位置 id为 upload_tr * (2)需要在该form表单加载前调用 showUpLoad()方法 * (3)如需要在修改页面展示该控件需要在展示页面的form('load',data)后加入 showUploadFile()方法 * (4)在form提交的方法内需要获得attachments附件url 和 filename 附件名称两个变量通过url 或者填入表单方式进行提交 * */ var updateNumShow = 500 //updateNumShow是生成页面显示使用的随机id var attachments="";//公共变量用来存储上传文件的url var filename="";//公共变量用来存储上传文件的name //用来展示页面 function showUpLoad(){ $("#upload_tr").html("<td align='right'></td><td colspan='1' align='left'><span>选择要上传的文件:</span>" +"<input id='attachmentsId' type='file' name='file' width='90%' /></td><td><input id='importId' type='button' value='上传' name='import' style='width:80px;height:20px'" +" onclick='initImportData(\"attachmentsId\",\".docx;.pdf;.doc;\")'></td>"); $("#upload_tr").after('<tr id="showAffixId"><td align="right"></td><td colspan="3" align="left"></td></tr>'); } //上传按钮的点击事件 //id 为点击框的id,types是所包含的类型(内部以;号分割) function initImportData(id,types,updateNumShow){ if ($("#"+id).val().length > 0) { var fileNameAll = $("#"+id).val(); var fileType=fileNameAll.substr(fileNameAll.lastIndexOf(".")).toLowerCase();//获得文件后缀名 type = types.split(";"); //判断是否包含上传文件类型 var flag = isContainsType(fileType,types) if (flag) {//验证上传的文件为excel表格 uploadFile(id,500); } else { alert("上传文件格式不对,请重新上传附件!!!"); } } else { alert("请选择文件"); } } function isContainsType(fileType,types){ var types = types.split(";"); for(var i=0;i<types.length;i++){ if(types[i]==fileType){ return true; } } return false; } //上传方法 //id 为点击框的id function uploadFile(id,updateNumShow){ $.ajaxFileUpload({ url : '/base/upload/uploadFileInvest', secureuri : false, type : 'post', fileElementId : id,// file标签的id dataType : 'text',// 返回数据的类型 data : { name : 'logan' },// 一同上传的数据 success : function(data) { if (data.indexOf(">") != -1 && data.lastIndexOf("<") != -1) { data = data.substring(data.indexOf(">") + 1, data .lastIndexOf("<")); data = eval("(" + data + ")"); if (data.message!=0) { updateNumShow = updateNumShow+1; $("#showAffixId").after("<tr"+ " class='UpdatefileNameTrClass'><td></td><td "+ "colspan='2'"+ ">"+ data.fileName + " <input id='fileNamesId" +updateNumShow + "'"+ " class='fileNamesClass' type='button' " + "value='删除' onClick='deleteAffixByAffixName(\""+ data.fileName+"\",\""+updateNumShow+ "\",\""+data.fileSavePath+"\")'/>"+ "</td><td></td></tr>"); var result = attachments; attachments = data.fileSavePath+";"+result;// 存储的是上传的文件所在的文件夹的绝对路径 var names = filename; filename=data.fileName+";"+names;// 存储的是上传的文件所在的文件夹的绝对路径 $("#attachmentsUrlId").val(attachments); $("#attachementsNameId").val(filename); } else { $.messager.alert('提示', data.info, 'error'); } } }, error : function(data, status, e) { alert(e); } }); } //删除选中的要导入的文件 function deleteAffixByAffixName(fileName,key,path) { $("#fileNamesId" + key).parent().parent().remove(); if(!$(".UpdatefileNameTrClass")){ $(".fileNamesClass").remove(); } attachments = attachments.replace(path+";",""); filename = filename.replace(fileName+";",""); } //通用清除方法 用来保证当你新增或修改时清理掉之前的信息 function cleanUpload (){ attachments="" //公共变量用来存储上传文件的url filename=""; $(".UpdatefileNameTrClass").empty(); } //增加查看页面的附件显示方法(写在查看页面的表单load后) function showUploadFile(urls,names){ if(urls!=null&& urls!=""){ var url = urls.split(";"); var name = names.split(";"); for(var i=0;i<url.length;i++){ updateNumShow = updateNumShow+1; $("#showAffixId").after("<tr"+ " class='UpdatefileNameTrClass'><td></td><td "+ "colspan='2'"+ ">"+ name[i] + " <input id='fileNamesId" +updateNumShow + "'"+ " class='fileNamesClass' type='button' " + "value='删除' onClick='deleteAffixByAffixName(\""+ name[i]+"\",\""+updateNumShow+ " \",\""+url[i]+"\")'/>"+ "</td><td></td></tr>"); var result = attachments; attachments = url[i]+";"+result;// 存储的是上传的文件所在的文件夹的绝对路径 var names = filename; filename=name[i]+";"+names;// 存储的是上传的文件所在的文件夹的绝对路径 } } }