标签:中文 例子 .com 直接 ons 读取 dir pat 配置
---恢复内容开始---
文件的上传下载时项目开发最常用到的功能,上传文件时表单必须进行如下设置:
这样浏览器才会将用户选择的文件二进制数据发送给服务器
Springle MVC为文件上传提供了直接的支持,,这种支持是用MultipartResolver实现,SpringMVC上传需要依赖Apache Commons FileUpload的支持
即需要commons-fileupload-xx.jar架包,
这里先来一个上传的小例子
1、首先是在配置文件中配置MultipartResolver
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 上传文件大小上限,单位为字节(10MB) --> <property name="maxUploadSize"> <value>10485760</value> </property> <!-- 请求的编码格式,必须和jSP的pageEncoding属性一致,以便正确读取表单的内容,默认为ISO-8859-1 --> <property name="defaultEncoding"> <value>UTF-8</value> </property> </bean>
2、前端页面
<body> <h2>Spring MVC文件上传</h2> <form action ="upload" enctype="multipart/form-data" method="post"> <table> <tr> <td>文件描述</td> <td><input type="text" name="description"/></td> </tr> <tr> <td>请选择文件</td> <td><input type="file" name="file"></td> </tr> <tr> <td><input type="submit" value="上传"></td> </tr> </table> </form> </body> </html>
3、上传方法
@RequestMapping(value="/{formName}") public String loginForm(@PathVariable String formName){ // 动态跳转页面 return formName; } // 上传文件会自动绑定到MultipartFile中 @RequestMapping(value="/upload",method=RequestMethod.POST) public String upload(HttpServletRequest request, @RequestParam("description") String description, @RequestParam("file") MultipartFile file, Model model) throws Exception{ System.out.println(description); // 如果文件不为空,写入上传路径 if(!file.isEmpty()){ // 上传文件路径 String path = request.getServletContext().getRealPath( "/images/"); // 上传文件名 String filename = file.getOriginalFilename(); File filepath = new File(path,filename); // 判断路径是否存在,如果不存在就创建一个 if (!filepath.getParentFile().exists()) { System.out.println("路径不存在"); filepath.getParentFile().mkdirs(); } System.out.println(filepath.getParentFile()); // 将上传文件保存到一个目标文件当中 file.transferTo(new File(path+File.separator+ filename)); return "success"; }else{ return "error"; } }
Spring MVC会将上传的文件绑定到MultipartFile中,MultipartFile提供获得上传文件的内容,文件名的方法,通过transTo()方法还可以将文件存储在硬件中,MultipartFile
常用的方法如下:
标签:中文 例子 .com 直接 ons 读取 dir pat 配置
原文地址:http://www.cnblogs.com/cumtlg/p/7617230.html