文件上传至服务器(java+[easyUi+common])
来源:互联网 发布:sai手绘软件下载 编辑:程序博客网 时间:2024/05/29 17:41
html部分:
<!-- 上传地图文件的弹出框 --><div id="uploadMapFiledlg" class="easyui-dialog"style="width: 350px; height:180px;" closed="true"buttons="#upload-buttons" data-options="modal:true" ><form id="uploadMapFileForm" method="post" enctype="multipart/form-data" action="reportInfo/uploadMapFile.do"><fieldset id="newMenuSet"><table border="0px" cellspacing="1" cellpadding="1" > <tr style="line-height: 32px"><td style="text-align: left;" ><labelstyle="font-size: 12px;">上传文件:</label></td><td style="text-align: left"> <input style="width: 220px; height: 25px" class="easyui-filebox" id="uploadfile" name="uploadfile" data-options="prompt:'只支持JSON格式...',buttonText:'选择文件...'"></td></tr></table></fieldset></form><div id="resultDiv2"></div><!--按钮部分--><div id="upload-buttons"><a href="javascript:void(0)" class="easyui-linkbutton"iconCls="icon-import" id="uploadBtn">上传</a> <ahref="javascript:void(0)" class="easyui-linkbutton"iconCls="icon-cancel"onclick="javascript:$('#uploadMapFiledlg').dialog('close')">取消</a></div> <!--弹出框按钮懒得复制了,在datagrid里-->
js代码:
//按钮部分$(function(){$("#uploadBtn").click(function(){ if($(this).linkbutton('options').disabled == false){ var file =$("#uploadfile").filebox('getValue'); if(file==""){ $.messager.alert('提示', '请先选择要上传文件!', 'info'); return; } var type=file.slice(file.lastIndexOf(".")+1,file.length); var checkType=type.toUpperCase(); if(checkType!=="JSON"){ $.messager.alert('提示', '所选的文件格式不正确!', 'info'); return; }; var uploadFileName=file.slice(file.lastIndexOf("\\")+1,file.length); $.ajax({ type: "post", url: contextPathName+"/reportInfo/cheackFile.do", data: {"uploadFileName":uploadFileName}, dataType: "json", success: function (data) { if(data.success){ if(data.isExists){ //用户确定覆盖? $.messager.confirm('确认对话框', data.fileMsg, function(r){ if (r){//覆盖(继续) virtualUpload(); }else{ //取消 var content ="<p>上传结果:</p>"; content +="<p>您取消了文件的上传</p>"; $('#resultDiv2').html(content); $('#uploadMapFileForm').form("reset"); return; } }); }else{//文件不存在 virtualUpload(); } } }, error:function(){ $.messager.alert('提示', "服务器发生错误!", 'info'); } }); } }); //显示上传地图文件窗口 $("#uploadMapFileBtn").click(function(){ if($(this).linkbutton('options').disabled == false){ $('#uploadMapFileForm').form("reset"); $('#resultDiv2').empty(); $('#uploadMapFiledlg').dialog('open').dialog('setTitle', '上传地图文件'); } });})//实际上传操作function virtualUpload(){var intervalId = null; var progressBar = null; var options = { dataType : "json", beforeSubmit : function() { $.messager.progress({ title:'请稍后', msg:'正在处理中...', }); }, complete:function(){ $.messager.progress('close'); }, success : function(data) { if(data.success){ $.messager.alert('提示', "操作成功", 'info'); var content ="<p>上传结果:</p>"; content +="<p>"+data.resultMsg+"</p>"; $('#resultDiv2').html(content); $('#uploadMapFileForm').form("reset"); }else{ $('#resultDiv2').empty(); $.messager.alert('提示', data.errorMsg, 'info'); } }, error : function(result) { $.messager.alert('提示', "服务器发生错误!", 'info'); } }; $('#uploadMapFileForm').ajaxSubmit(options); return !1; }
java后台(控制器里的)
//检查文件是否存在 @RequestMapping ("/cheackFile") @ResponseBody public String cheackFile (HttpServletResponse response, HttpServletRequest request) { Map <String, Object> data = new HashMap <String, Object> (); boolean result = Boolean.TRUE; // 定义容器接收文件名 String uploadFileName = null; try { String brProjectPath = request.getSession ().getServletContext ().getRealPath ("/"); uploadFileName = request.getParameter ("uploadFileName"); // 文件保存路径 String filePath = brProjectPath + "map\\" + uploadFileName; File date = new File (filePath); if (date.exists ()) { data.put ("isExists", Boolean.TRUE); data.put ("fileMsg", "文件已存在!是否覆盖!"); } else { data.put ("isExists", Boolean.FALSE); } } catch (Exception e) { _logger.error (e.getMessage (), e); result = Boolean.FALSE; data.put ("errorMsg", "文件上传失败!"); } data.put ("success", result); String jsonStr = JSONObject.fromObject (data).toString (); return jsonStr; }//接收上传文件 @RequestMapping ("/uploadMapFile") @ResponseBody public String doUploadMapFile (@RequestParam (value = "uploadfile", required = false) MultipartFile uploadfile, HttpServletRequest request) { Map <String, Object> data = new HashMap <String, Object> (); boolean result = Boolean.TRUE; // 定义容器接收文件名 String uploadFileName = null; try { InputStreamReader read = new InputStreamReader (uploadfile.getInputStream (), "utf-8");// 考虑到编码格式 BufferedReader bufferedReader = new BufferedReader (read); StringBuffer jsonContent = new StringBuffer (); String content = ""; while ((content = bufferedReader.readLine ()) != null) { jsonContent.append (content); } String brProjectPath = request.getSession ().getServletContext ().getRealPath ("/"); uploadFileName = uploadfile.getOriginalFilename (); // 文件保存路径 String filePath = brProjectPath + "map\\" + uploadFileName; File date = new File (filePath); FileOutputStream fop = null; fop = new FileOutputStream (date); byte[] contentInBytes = jsonContent.toString ().getBytes (); fop.write (contentInBytes); fop.flush (); fop.close (); read.close (); } catch (Exception e) { _logger.error (e.getMessage (), e); result = Boolean.FALSE; data.put ("errorMsg", "文件上传失败!"); } data.put ("success", result); data.put ("resultMsg", uploadFileName + "上传成功!"); String jsonStr = JSONObject.fromObject (data).toString (); return jsonStr; }
效果
点击上传按钮,弹出上传文件框
选择文件:
操作提示:
显示结果:
检测到同名文件,给用户提示:
取消上传后:
我所遇见的问题
1.js报错:ajaxSubmit不是一个函数!
这里你需要引入一个js文件:jQuery/jquery.form.js,值得注意的是你还要把它放在jQuery.js的后面应为form.js基于jQuery;
2.在页面上死活找不到这个form!请求也无疾而终;
这里我的确是被坑的.....这个页面是同事写的,我本来是俩加功能的,他的页面也有form标签,但他的form标签是这样的<form><form>,结果我的form就被他吃了....
我是找了好久代码的问题没找到问题,最后还是老大帮忙找出来的.....额,感觉被人在后面捅了一刀,泪目啊!
阅读全文
0 0
- 文件上传至服务器(java+[easyUi+common])
- Java上传文件common-fileupload
- easyUi + jquery + common-file-upload +struts2完成文件进度条上传
- Java文件上传组件 common-fileUpload 使用
- java post 上传文件 common-fileupload
- java post 上传文件 common-fileupload
- java post 上传文件 common-fileupload
- Java 将文件上传至服务器
- Java 上传文件至FTP服务器
- common-fileupload上传文件
- common-fileupload上传文件
- common-httpclient上传文件
- common-fileupload文件上传
- common-fileupload上传文件
- java上传文件到微信服务器
- Java文件上传到服务器
- java上传文件到服务器
- Java上传文件到服务器
- Count Primes
- vs下编译不出错但是有小红线
- Lintcode80Mediansolution题解
- Re-install Flyme or Native Google Android on Meizu MX4 Ubuntu (by quqi99)
- cocos2d-x-lua:API-Toggle菜单
- 文件上传至服务器(java+[easyUi+common])
- 分享一些JavaScript中不足之处
- 微信小程序后台解密用户数据
- 909422229_Nginx反向代理配置
- Android中使用触摸事件实现Selsetor按下时改变按钮背景
- hadoop常见错误及处理方法
- json格式转换常用工具类,response发送字符串流工具类
- MySQL数据库文件其具体的存放位置简述
- 以太网控制1553b总线