<div id="dialogBtn"> <a class="easyui-linkbutton" href="#" onclick="addNotice()">确定</a> <a class="easyui-linkbutton" href="#" onclick="closeDialog();">取消</a> </div> <div id="addNotice" class="easyui-dialog" title="添加/编辑" style="width: 1000px; height: 650px;" data-options="iconCls:\'icon-save\',resizable:true,modal:true,closed:true,buttons:\'#dialogBtn\'"> <div style="padding: 10px 0 10px 60px"> <form id="noticeForm" method="post" enctype="multipart/form-data"> <input type="hidden" id="webId" name="webId" /> <input type="hidden" name="websiteMessage.usreId" value="${login_session_key.id }" /> <table> <tr> <td> 标  题: </td> <td > <input class="easyui-validatebox" style="width: 149px; height: 20px; border: 1px solid #ccc;" type="text" name="websiteMessage.title"></input> </td> </tr> <tr> <td> 发布方式: </td> <td > <select id="method" class="easyui-combobox" name="websiteMessage.publishType" panelHeight="auto" style="width: 150px;" editable="false" required="true"> <option value="1">站内公告</option> <option value="2">系统公告</option> </select> </td> </tr> <tr> <td> 信息类型: </td> <td id="upId"> <select id="type" class="easyui-combobox" name="websiteMessage.mtype" panelHeight="auto" style="width: 150px;" editable="false" required="true"> </select> </td> </tr> <tr> <td> 内  容: </td> <td id="addUploadId"> <div id="systemNoticeMoren" style="overflow: hidden;"> <textarea id="morenContent" style="width: 582px; height: 116px; border: 1px solid #ccc;" ></textarea> </div> </td> </tr> </table> </form> </div> </div> <script type="text/javascript"><!-- var editxt={};//存储修改的时候的div var xt={};//存储系统公告的的 id > div1,div2... var i=1; var hasUpload=false; var hasMorenContent=true;//默认的编辑框 var hasXtContent=false;//默认的编辑框 var thisWebSiteMessageId=-1; var arr={}; arr[1]="媒体报道"; arr[2]="网站公告"; arr[3]="成功案例"; arr[4]="站内信息"; //普通的文本框,没有带上传功能 var morenContent="<div id=\'systemNoticeMoren\' style=\'overflow: hidden;\'> <textarea id=\'morenContent\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> </div>"; var okImg="<img alt=\'\' src=\'/images/oo.gif\'/>"; var errorImg="<img alt=\'\' src=\'/images/xx.gif\'/>"; $(function(){ var method=$(\'#method\'); var type=$(\'#type\'); method.combobox({ onSelect:function(ele){ resetWebId(); if(ele.value==1){ if(!hasMorenContent){ $(\'#addUploadId\').append(morenContent); hasMorenContent=true; } if(hasXtContent){ $(\'#systemNoticeXt\').remove(); hasXtContent=false; } $.each(xt,function(index,ele){ $(\'#systemNoticeXt\'+index).remove(); }); //恢复参数配置 resetCash(); //移除添加消息的按钮 $(\'#systemNoticeUpload\').remove(); type.combobox(\'clear\'); type_1(type); } else if(ele.value==2){ type.combobox(\'clear\'); type_2(type); //移除默认的编辑框 $(\'#systemNoticeMoren\').remove(); hasMorenContent=false; //绑定系统公告编辑框 if(!hasXtContent){ // var xtContent="<div id=\'systemNoticeXt\' style=\'overflow: hidden;\'> <textarea id=\'xtContent\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> " //+"<img alt=\'\' src=\'/images/xx.gif\'><input id=\'file\' name=\'file\' type=\'file\' value=\'选择文件\'/> </div>"; hasXtContent=true; } } } }); }); function type_1(type){ type.combobox({ valueField: \'id\', textField: \'value\', data: [{ id: \'4\', value: \'站内信息\', selected:true }], onSelect:function(rec){ resetWebId(); } }); } function type_2(type){ type.combobox({ valueField: \'id\', textField: \'value\', data: [{ id: \'1\', value: \'媒体报道\', selected:true },{ id: \'2\', value: \'网站公告\' },{ id: \'3\', value: \'成功案例\' }], onSelect:function(rec){ resetWebId(); var noticeId=rec.id; if(noticeId==1||noticeId==3||noticeId==2){ if(!hasUpload) { hasUpload=true; $(\'#upId\').append(\'<a id="systemNoticeUpload" href="#" onclick="addDiv();">添加消息</a>\'); } $.each(xt,function(index,ele){ $(\'#systemNoticeXt\'+index).remove(); }); //恢复参数配置 xt={};//存储系统公告的的 id > div1,div2... i=1; hasXtContent=false; }else{ if(hasUpload) { hasUpload=false; $(\'#systemNoticeUpload\').remove(); } } } }); } function openNotice(){ resetCash(); $(\'#noticeForm\').form(\'reset\'); $(\'#addNotice\').dialog(\'open\'); $(\'#webId\').val(\'\'); type_1($(\'#type\')); } function addNotice(){ var time; var selectId=$(\'#method\').combobox(\'getValue\'); var noticType=$(\'#type\').combobox(\'getValue\'); var paramsId=$("#webId").val(); if(selectId==1){ //站内信息 if(paramsId==null||paramsId==\'\'){ $(\'#noticeForm\').form(\'submit\', { url:\'<%=basePath%>admin/notice/notice!add.ds\', onSubmit: function(param){ param["websiteMessage.MContent"]=$(\'#morenContent\').val(); param["comId"]=1;//表示选中第一个 2:系统公告 ,1:站内信息 } , success:function(data){ var json=$.parseJSON(data); $.messager.alert(\'温馨提示\',json.message,\'info\'); if(json.success){ $(\'#sysdatabase\').datagrid(\'reload\'); } } }); }else{ var data={ \'webId\':paramsId, \'websiteMessage.title\':$("input[name=\'websiteMessage.title\']").val(), \'websiteMessage.MContent\':$("#morenContent").val(), "comId":1 } $.post(\'/admin/notice/notice!add.ds\',data,function(data){ $.messager.alert(\'温馨提示\',data.message,\'info\'); if(data.success){ $(\'#sysdatabase\').datagrid(\'reload\'); } },"json"); } } else if(selectId==2){ //添加消息 comId=2 if(xt){ $.each(xt,function(index,ele){ var isSubmit=true; //检查文件 var f=document.getElementById(\'file\'+index).files; if(f.length>0){ var filename=$(\'#file\'+index).val(); var suffix=filename.substring(filename.lastIndexOf("."),filename.length); //.jpg,.png,.peng,.gif,.mp4,avi if(suffix!=".png"&&suffix!=".jpeg"&&suffix!=".jpg"&&suffix!=".gif"&&suffix!=".avi"&&suffix!=".mp4"){ alert("文件格式不对,请选择格式【.jpg,.png,.peng,.gif,.mp4,avi】的文件"); isSubmit=false; } if(suffix==".png"||suffix==".jpeg"||suffix==".jpg"||suffix==".bmp"||suffix==".gif"){ var filesize=f.size/1024;//KB if(parseInt(filesize)>1024){ alert(\'图片不能大于1M\'); isSubmit=false; } } if(suffix==".avi"||suffix==".mp4"){ var filesize=f.seize/1024/1024;//M if(filesize>20){ alert(\'视频不能大于20M\'); isSubmit=false; } } } //提交文件 if(isSubmit){ var getFile=$(\'#file\'+index); $(\'#noticeForm\').form(\'submit\',{ url:\'<%=basePath%>admin/notice/notice!add.ds\', onSubmit:function(pa){ pa["comId"]=2;//表示选中第一个 2:系统公告 ,1:站内信息 pa["websiteMessage.MContent"]=$(\'#xtContent\'+index).val(); //获取是否选择文件 var f = document.getElementById("file"+index).files.length; if(f>0) { pa["file"]=getFile.attr(\'name\',\'file\');//更改文件的nam属性 pa["fileName"]=$(\'#file\'+index).val(); } pa["noticType"]=noticType; pa["uploadCount"]=index;//索引值 }, success:function(data){ data=$.parseJSON(data); if(data.success){ $(\'#systemNoticeXt\'+index).append(okImg); } else{ $(\'#systemNoticeXt\'+index).append(errorImg); if(data.code==-1) $(\'#systemNoticeXt\'+index).append("<font color=\'red\'>"+data.message+"</font>"); } } }); } //还原文件的名字 $(\'#file\'+index).attr(\'name\',\'file\'+index);//更改文件的nam属性 //设置时间,避免得到重复值 time=setInterval(function(){},1000); }); }<%--else if(editxt){ $.each(editxt,function(index,ele){ var eisSubmit=true; //检查文件 var ef=document.getElementById(\'file\'+index).files; if(ef.length>0){ var efilename=$(\'#file\'+index).val(); var esuffix=efilename.substring(efilename.lastIndexOf("."),efilename.length); //.jpg,.png,.peng,.gif,.mp4,avi if(esuffix!=".png"&&esuffix!=".jpeg"&&esuffix!=".jpg"&&esuffix!=".gif"&&esuffix!=".avi"&&esuffix!=".mp4"){ alert("文件格式不对,请选择格式【.jpg,.png,.peng,.gif,.mp4,avi】的文件"); eisSubmit=false; } if(esuffix==".png"||esuffix==".jpeg"||esuffix==".jpg"||esuffix==".bmp"||esuffix==".gif"){ var efilesize=ef.size/1024;//KB if(parseInt(efilesize)>1024){ alert(\'图片不能大于1M\'); eisSubmit=false; } } if(esuffix==".avi"||esuffix==".mp4"){ var efilesize=ef.seize/1024/1024;//M if(efilesize>20){ alert(\'视频不能大于20M\'); eisSubmit=false; } } } //提交文件 if(eisSubmit){ var egetFile=$(\'#file\'+index); $(\'#noticeForm\').form(\'submit\',{ url:\'<%=basePath%>admin/notice/notice!add.ds\', onSubmit:function(pa){ pa["comId"]=2;//表示选中第一个 2:系统公告 ,1:站内信息 pa["websiteMessage.MContent"]=$(\'#xtContent\'+index).val(); pa["webId"]=$(\'#webId\').val(); //获取是否选择文件 var af = document.getElementById("file"+index).files.length; if(af>0) { pa["file"]=egetFile.attr(\'name\',\'file\');//更改文件的nam属性 pa["fileName"]=$(\'#file\'+index).val(); } pa["noticType"]=noticType; pa["uploadCount"]=index;//索引值 }, success:function(data){ data=$.parseJSON(data); if(data.success){ $(\'#systemNoticeXt\'+index).append(okImg); } else{ $(\'#systemNoticeXt\'+index).append(errorImg); if(data.code==-1) $(\'#systemNoticeXt\'+index).append("<font color=\'red\'>"+data.message+"</font>"); } } }); } //还原文件的名字 $(\'#file\'+index).attr(\'name\',\'file\'+index);//更改文件的nam属性 //设置时间,避免得到重复值 time=setInterval(function(){},1000); }); }--%> //刷新表格 $(\'#sysdatabase\').datagrid(\'reload\'); } clearInterval(time); } //添加系统公告的div function addDiv(){ var xtContent="<div id=\'systemNoticeXt"+i+"\' style=\'overflow: hidden;\'> <textarea id=\'xtContent"+i+"\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> " +"<a href=\'#\' onclick=\'removeDiv("+i+");\'><img alt=\'\' src=\'/images/remove1.gif\'></a><input id=\'file"+i+"\' name=\'file"+i+"\' type=\'file\' value=\'选择图片\'/> </div>"; $(\'#addUploadId\').append(xtContent); var arrDiv={}; arrDiv["systemNoticeXt"+i]="systemNoticeXt"+i; arrDiv["xtContent"+i]="xtContent"+i; arrDiv["file"+i]="file"+i; xt[i]=arrDiv; i++; } function removeDiv(divID){ $(\'#systemNoticeXt\'+divID).remove(); delete xt[divID]; } function editNotice(){ var j=$("#sysdatabase").datagrid("getSelected"); if(!j){ $.messager.alert("温馨提示","请选择一行数据","info"); return ; } var publishType=j.publishType; if(publishType==1){ $(\'#noticeForm\').form(\'load\',{ "websiteMessage.title":j.title, "websiteMessage.mtype":arr[j.mtype], "websiteMessage.publishType":j.publishType, "websiteMessage.MContent":j.MContent, "webId":j.id }); $(\'#morenContent\').val(j.MContent); $(\'#addNotice\').dialog(\'open\'); } else if(publishType==2){ $.messager.alert(\'温馨提示\',\'系统公告不能修改\',\'info\'); } } function deleteNotice(){ var data=$(\'#sysdatabase\').datagrid(\'getSelected\'); if(!data){ $.messager.alert(\'温馨提示\',\'请选择数据\',\'info\'); return; } $.messager.confirm(\'确认对话框\',\'是否删除?\',function(r){ if(r){ $.post(\'<%=basePath%>admin/notice/notice!delete.ds\',{"id":data.id},function(d){ $.messager.alert(\'温馨提示\',d.message,\'info\'); if(d.success) $(\'#sysdatabase\').datagrid(\'reload\'); }); } }); } function closeDialog(){ $(\'#addNotice\').dialog(\'close\'); resetCash(); } //恢复参数 function resetCash(){ //初始化参数 $.each(xt,function(index,ele){ $(\'#systemNoticeXt\'+index).remove(); }); $(\'#systemNoticeUpload\').remove(); xt={};//存储系统公告的的 id > div1,div2... i=1; hasUpload=false; hasMorenContent=true;//默认的编辑框 hasXtContent=false;//默认的编辑框 resetWebId(); } function resetWebId(){ $.post(\'<%=basePath%>admin/notice/notice!resetWebId.ds\'); } </script>
java
上传
/** * * 基于struts2的文件上传 * @param file 源文件 * @param fileName 文件名 * @param path 路径 : /xx/ */ public static String struts2uploadfile(File file,String fileName,String path) throws IOException{ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");// 格式化时间输出 String Rname = sdf.format(new Date());// 取得当前时间,Date()是java.util包里的,这作为真实名称 if(StringUtils.isNotBlank(fileName)){ String realPath=ServletActionContext.getServletContext().getRealPath(path); File f=new File(realPath); if(!f.getParentFile().exists()){ f.getParentFile().mkdirs(); } String houzhui=fileName.substring(fileName.lastIndexOf("."), fileName.length()); Rname+=houzhui; File saveFile=new File(f, Rname); FileUtils.copyFile(file, saveFile); } return path+Rname; }