SpringMVC上传文件
来源:互联网 发布:unity3d塔防游戏 编辑:程序博客网 时间:2024/06/18 17:04
web.xml
<!-- 配置springMVC --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- contextConfigLocation 是固定的 --> <param-name>contextConfigLocation</param-name> <!-- 配置读取路径--> <param-value>classpath*:config/springAnnotation-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <!-- 配置拦截规则--> <url-pattern>/</url-pattern> </servlet-mapping>
springAnnotation-servlet.xml
<!-- 配置上传文件--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!--最大上传大小单位字节--> <property name="maxUploadSize" value="10485760000" /> <!--最大缓存字节--> <property name="maxInMemorySize" value="40960" /> </bean>
controller
@Controller@RequestMapping("/file")public class UploadController { @RequestMapping("/upload1") public String addUser(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request) throws IOException{ //file.getOriginalFilename(): 1.png if(!file.isEmpty()){ //创建输出流 FileOutputStream os =null; //获取输入流 InputStream in = null; //高效输入流 BufferedInputStream bi=null; //高效输出流 BufferedOutputStream bo=null; int len=0; try { os = new FileOutputStream("E:/"+ file.getOriginalFilename()); in = file.getInputStream(); bi=new BufferedInputStream(in); bo=new BufferedOutputStream(os); byte[] arr = new byte[1024]; while((len=bi.read(arr)) != -1){ bo.write(arr, 0, len); bo.flush(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //释放资源 if(os!=null){ os.close(); } if(in!=null){ in.close(); } if(bi!=null){ bi.close(); } if(bo!=null){ bo.close(); } } } return "/success"; } //多文件上传 @RequestMapping("/upload2") public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{ ///创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); // 设置编码 multipartResolver.setDefaultEncoding("utf-8"); // 判断 request 是否有文件上传 if(multipartResolver.isMultipart(request)){ // 强转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; //获取所有文件 Iterator<String> iter = multiRequest.getFileNames(); while(iter.hasNext()){ String next = (String)iter.next(); //next:file MultipartFile file = multiRequest.getFile(next); //file: org.springframework.web.multipart.commons.CommonsMultipartFile@2e574e38 if(file != null){ String fileName = "demoUpload" + file.getOriginalFilename(); String path = "E:/" + fileName; File localFile = new File(path); file.transferTo(localFile); } } } return "/success"; }}
jsp
<form name="userForm" action="/springMVC1/file/upload1" method="post"enctype="multipart/form-data" > 上传文件方式1:<input type="file" name="file"> <input type="submit" value="上传" > </form> <form name="userForm" action="/springMVC1/file/upload2" method="post" enctype="multipart/form-data" > 上传文件方式2:<input type="file" name="file1"> <input type="submit" value="上传" > </form>
0 0
- springMVC(11) springMVC文件上传
- SpringMVC-----8、SpringMVC上传文件
- springmvc文件上传总结
- SpringMVC multipart文件上传
- SpringMVC中的文件上传
- springmvc的文件上传
- springMVC上传文件
- springMVC 文件上传
- SpringMVC - 文件上传篇
- springMVC文件上传
- springMVC文件上传
- springMVC文件上传
- SpringMVC 上传文件
- SpringMVC文件上传
- springMVC上传文件
- springMVC上传文件例子
- springMVC上传文件
- springmvc文件上传错误
- TCP、UDP
- WinDbg-如何抓取dump文件
- struts2+ajax 传输用户自定义的对象,而非字符串
- cesium学习笔记之五——Linux下部署cesium项目
- js空串判断
- SpringMVC上传文件
- 常用的JavaScript验证正则表达式
- Dump 文件生成与分析
- 类加载器的父委托机制
- Android 抽屉效果的导航菜单实现
- struts2 s:form标签排版问题
- JVM类加载机制1
- tools:context=".MainActivity的作用
- android 布局文件中控件ID、name标签属性的命名包含“@”、“.”、“+”等等符号的含义