index.jsp
<%@ page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> ${name} <form action="uplode.do"method="post"enctype="multipart/form-data"> <input type="file"name="file" /> <input type="submit"value="上传"/> </form> </body> </html>
多文件上传
<form action="bateh.do"method="post"enctype="multipart/form-data"> 1<input type="file"name="file" /> 2<input type="file"name="file" /> <input type="submit"value="上传"/> </form>
iotest.java
packagecn.zys.controller; importjava.io.File; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.OutputStream; importjavax.servlet.http.HttpServletRequest; importorg.springframework.stereotype.Controller; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RequestParam; importorg.springframework.web.multipart.commons.CommonsMultipartFile; @Controller public classIoTest { @RequestMapping("/uplode") public String uplode(@RequestParam("file")CommonsMultipartFile cmf,HttpServletRequest req) throwsIOException{ //获取文件名 //获取文件的路径 String path = req.getRealPath("/fileuplode"); InputStream is =cmf.getInputStream(); System.out.println(cmf.getOriginalFilename()); System.out.println(path); OutputStream os = new FileOutputStream(newFile(path,cmf.getOriginalFilename())); int len = 0; byte[] buffer = new byte[1024]; while((len = is.read(buffer))!=-1) os.write(buffer,0,len); os.close(); is.close(); return "/yes.jsp"; }
//多文件上传
@RequestMapping("/bateh") public String bateh(@RequestParam("file")CommonsMultipartFile cmf[],HttpServletRequest req) throwsIOException{ //获取文件名 //获取文件的路径 String path = req.getRealPath("/fileuplode"); for(int i = 0; i<cmf.length; i++){ InputStream is =cmf[i].getInputStream(); System.out.println(cmf[i].getOriginalFilename()); System.out.println(path); OutputStream os = new FileOutputStream(newFile(path,cmf[i].getOriginalFilename())); int len = 0; byte[] buffer = new byte[1024]; while((len = is.read(buffer))!=-1) os.write(buffer,0,len); os.close(); is.close(); } return "/yes.jsp"; }
}
mvc.xml(一部分)
<!--文件上传配置 --> <bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- defaultEncoding:请求的编码格式必须和用户JSP的编码一致,以便正确读取表单中的内容。 uploadTempDir:文件上传过程中的临时目录,上传完成后,临时文件会自动删除 maxUploadSize:设置文件上传大小上限(单位为字节)-1为无限制 --> <property name="defaultEncoding"value="UTF-8" /> <property name="maxUploadSize"value="102400000" /> <property name="maxInMemorySize"value="40960"></property> <!--uploadTempDir可以不做设置,有默认的路径,上传完毕会临时文件会自动被清理掉 --> </bean>