jsp + springMVC文件上传
来源:互联网 发布:库里技术特点知乎 编辑:程序博客网 时间:2024/05/20 14:18
- 前台jsp
<form:form id="inputForm" modelAttribute="contract" action="${ctx}/basicmana/contract/upload" method="post" enctype="multipart/form-data" class="form-horizontal"> <form:hidden path="contractId"/> <sys:message content="${message}"/> <table class="table table-bordered table-condensed dataTables-example dataTable no-footer"> <tbody> <tr> <td class="width-15 active"> <label class="pull-right">合同名称:</label></td> <td class="width-35" ><form:input path="contractName" htmlEscape="false" maxlength="50" class="form-control required"/></td> </tr> <tr> <td class="width-15 active"> <label class="pull-right">合同名称文件:</label></td> <td class="width-35" ><form:input path="" type="file" multiple="multiple" name = "files" htmlEscape="false" maxlength="50" class="form-control required"/></td> </tr> </tbody> </table></form:form>
form要加上enctype=”multipart/form-data” 否则后台MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request转换会出错org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to org.springframwork.web.mult..;
文件input输入框要有name属性,如name = “files”,否则multiRequest.getFileNames()无法获取到文件名
- 后台spring MVC代码
@RequestMapping(value = "upload") public String upload(Contract contract,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes){ String url = request.getServletContext().getRealPath("/") + "upload"; //获取webapps下web工程下upload的url File mkdirs = new File(url); //获取upload if(!mkdirs.exists()){ //不存在则创建 mkdirs.mkdirs(); } try { final String encoding = System.getProperty("file.encoding"); MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; List<MultipartFile> files = multiRequest.getFiles("files");// Iterator<String> fileNames = multiRequest.getFileNames();// while(fileNames.hasNext()){// CommonsMultipartFile file = (CommonsMultipartFile) multiRequest.getFile(fileNames.next());// String fileName = file.getOriginalFilename();// String suffix = fileName.substring(fileName.lastIndexOf("."));// fileName = java.net.URLDecoder.decode(fileName,"UTF-8");// String saveName = String.valueOf(new Date().getTime()) + suffix;// String filePath = url + File.separator + saveName;//// String EcodefilePath = new String(filePath.getBytes("GBK"), encoding);// File f = new File(EcodefilePath);// FileCopyUtils.copy(file.getBytes(), f);//// } for(MultipartFile file : files){ String fileName = file.getOriginalFilename(); String suffix = fileName.substring(fileName.lastIndexOf(".")); fileName = java.net.URLDecoder.decode(fileName,"UTF-8"); String saveName = String.valueOf(new Date().getTime()) + suffix; String filePath = url + File.separator + saveName; String EcodefilePath = new String(filePath.getBytes("GBK"), encoding); File f = new File(EcodefilePath); FileCopyUtils.copy(file.getBytes(), f); } addMessage(redirectAttributes, "上传成功!"); } catch (Exception e) { addMessage(redirectAttributes, "上传失败! 失败信息" + e.getMessage()); e.printStackTrace(); } return "redirect:" + adminPath + "/basicmana/contract/list; }
0 0
- jsp + springMVC文件上传
- springMVC(11) springMVC文件上传
- SpringMVC-----8、SpringMVC上传文件
- springmvc文件上传总结
- SpringMVC multipart文件上传
- SpringMVC中的文件上传
- springmvc的文件上传
- springMVC上传文件
- springMVC 文件上传
- SpringMVC - 文件上传篇
- springMVC文件上传
- springMVC文件上传
- springMVC文件上传
- SpringMVC 上传文件
- SpringMVC文件上传
- springMVC上传文件
- springMVC上传文件例子
- springMVC上传文件
- Spring一览
- bzoj 2752: [HAOI2012]高速公路(road) 线段树
- 程序状态字PSW
- PAT-B 1001. 害死人不偿命的(3n+1)猜想
- MyBatis一览
- jsp + springMVC文件上传
- TCP三次握手四次挥手
- Springmvc一览
- 串口通信
- u-boot常用命令详解
- Git托管现有代码
- 1.java 变量(数据类型)
- 【备忘】IOS(iPhone)开发中级视频教程下载
- git 遇到问题:Please make sure you have the correct access rightsand the repository exists 或Permission de