麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

MultipartResolver實現文件上傳功能

2024-07-14 08:41:22
字體:
來源:轉載
供稿:網友

springMVC默認的解析器里面是沒有加入對文件上傳的解析的,,使用springmvc對文件上傳的解析器來處理文件上傳的時需要用springmvc提供的MultipartResolver的申明,又因為CommonsMultipartResolver實現了MultipartResolver接口,所以我們可以在springmvc配置文件中這樣配置:

 <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> 

 首先引入文件上傳所需要的包,commons-logging-*.jar commons-io-*.jar  commons-fileupload-*.jar

新建一個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>文件上傳</title> </head> <body>   <%--<form action="user/fileUpload" method="post" enctype="multipart/form-data">--%>   <form action="user/fileUpload" method="post" enctype="multipart/form-data">     <input type="file" name="fileUpload" />     <input type="submit" value="上傳" />   </form> </body> </html> 

springmvc上傳文件的形式有很多,這里我介紹兩種.

第一種,看Controller

package gd.hz.springmvc.controller;  import java.io.File; import java.io.IOException;  import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.springframework.web.servlet.ModelAndView;  @Controller("userController") @RequestMapping("user") public class UserController {    // 處理文件上傳一   @RequestMapping(value = "fileUpload", method = RequestMethod.POST)   public ModelAndView fileUpload(       @RequestParam("fileUpload") CommonsMultipartFile file) {     // 獲取文件類型     System.out.println(file.getContentType());     // 獲取文件大小     System.out.println(file.getSize());     // 獲取文件名稱     System.out.println(file.getOriginalFilename());      // 判斷文件是否存在     if (!file.isEmpty()) {       String path = "D:/" + file.getOriginalFilename();       File localFile = new File(path);       try {         file.transferTo(localFile);       } catch (IllegalStateException e) {         e.printStackTrace();       } catch (IOException e) {         e.printStackTrace();       }     }     return new ModelAndView("dataSuccess");   } } 

類CommonsMultipartFile為我們提供了許多對文件處理的方法.例如文件大小,上傳文件名稱,文件類型,具體用法可以查看spring的文檔.transferTo就是將文件輸出到指定地方. 

文件上傳的第二種方法,這種方法比較常用:

package gd.hz.springmvc.controller;  import java.io.File; import java.io.IOException; import java.util.Iterator;  import javax.servlet.http.HttpServletRequest;  import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver;  @Controller("userController") @RequestMapping("user") public class UserController {    // 處理文件上傳二   @RequestMapping(value = "fileUpload2", method = RequestMethod.POST)   public String fileUpload2(HttpServletRequest request)       throws IllegalStateException, IOException {     // 設置上下方文     CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(         request.getSession().getServletContext());      // 檢查form是否有enctype="multipart/form-data"     if (multipartResolver.isMultipart(request)) {       MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;        Iterator<String> iter = multiRequest.getFileNames();       while (iter.hasNext()) {          // 由CommonsMultipartFile繼承而來,擁有上面的方法.         MultipartFile file = multiRequest.getFile(iter.next());         if (file != null) {           String fileName = "demoUpload" + file.getOriginalFilename();           String path = "D:/" + fileName;            File localFile = new File(path);           file.transferTo(localFile);         }        }     }     return "dataSuccess";   } } 

 MultipartHttpServletRequest提供了更加靈活的方法,可以獲取多個文件和文件名,可以遍歷獲得每個文件.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: chinese hd xxxx tube | 99精品视频在线观看免费播放 | 精品日韩欧美 | 国产精品中文在线 | 久久国产精| 欧美一级一区二区三区 | 久久久av亚洲男天堂 | 久久精品一区二区三区不卡牛牛 | 免费在线观看成年人视频 | 护士hd欧美free性xxxx | 免费看操片 | 成年免费视频黄网站在线观看 | 精品久久久久久综合日本 | 中文字幕 在线观看 | 久草在线新时代视觉 | 深夜小视频在线观看 | 国产一级免费视频 | 久久激情国产 | 免费国产a | 中文字幕在线观看二区 | 91 免费看片| 久久精品亚洲精品国产欧美kt∨ | 美女羞羞视频在线观看 | 九九视频在线观看6 | 国产成人在线免费观看视频 | 欧美中文字幕一区二区三区亚洲 | 欧美一级淫片a免费播放口 91九色蝌蚪国产 | 成人男女激情免费视频 | 蜜桃传媒视频麻豆第一区免费观看 | 欧美高清另类自拍视频在线看 | 欧美日韩精品中文字幕 | 成人精品 | 爽毛片 | 91 在线免费观看 | 欧美1区2区 | 爱唯侦察 国产合集 亚洲 | 国产精品中文在线 | 成人在线观看小视频 | h色网站免费观看 | 91av日韩| 国产亚洲精品久久久久久大师 |