SpringMVC上传文件

    xiaoxiao2021-03-29  33

    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>
    转载请注明原文地址: https://ju.6miu.com/read-664935.html

    最新回复(0)