SpringMVC實現 MultipartFile 文件上傳

1. Maven 工程引入所須要的依賴包

2. 頁面須要開放多媒體標籤

3. 配置文件上傳試圖解析器

4. 接收圖片信息,經過 IO 流寫入磁盤(調用解析其中的方法便可)

 

 

以下:

  1.1 引入所依賴的jar包

 1 <dependency>
 2   <groupId>commons-io</groupId>
 3   <artifactId>commons-io</artifactId>
 4   <version>2.4</version>
 5 </dependency>
 6 <dependency>
 7   <groupId>commons-fileupload</groupId>
 8   <artifactId>commons-fileupload</artifactId>
 9   <version>1.3.1</version>
10 </dependency>

  2.1 頁面須要開放多媒體標籤

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <h2>上傳多個文件 實例</h2>  
    <form action="/upload/filesUpload" method="post"  enctype="multipart/form-data">  
        <p>選擇文件:<input type="file" name="files"></p>
        <p>選擇文件:<input type="file" name="files"></p>
        <p><input type="submit" value="提交"></p>
    </form>  
</body>
</html>

  3.1 配置文件上傳試圖解析器

 <!-- 多部分文件上傳 -->
    <!--id的名字只能爲multipartResolver-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <!--配置編碼格式-->
        <property name="defaultEncoding" value="utf-8"></property>   
         <!--配置文件上傳大小-->
        <property name="maxUploadSize" value="10485760000"></property>  
        <property name="maxInMemorySize" value="40960"></property>  
   </bean> 

  4.1 編寫controller,實現文件上傳

@Controller
public class FileController {

    //實現了文件上傳入門案例
    @RequestMapping("/file")
    //MultipartFile    解析器參數
    public String file(MultipartFile fileImage) throws IllegalStateException, IOException{
        /*
         * 公共接口MultipartFile 
            擴展了InputStreamSource
            在多部分請求中接收的上載文件的表示。
            文件內容存儲在內存中或臨時存儲在磁盤上。
            在任何一種狀況下,若是須要,用戶負責將文件內容複製到會話級或持久性存儲。
            臨時存儲將在請求處理結束時清除。
         */
        
        //建立fileDir對象,"E:/jt-upload"這個內容能夠是文件也能夠是文件夾
        File fileDir = new File("E:/jt-upload");
        //1.判斷文件夾是否存在
        if(!fileDir.exists()){
            //不存在的話,建立文件夾
            fileDir.mkdirs();
        }
        
        //fileImage.getOriginalFilename()    獲取文件名字
        String fileName = fileImage.getOriginalFilename();
        
        //實現文件的上傳
        fileImage.transferTo(new File("E:/jt-upload/"+fileName));
        
        //適用重定向技術
        return "redirect;/file.jsp";
        //z轉發
//        return "forword:/file.jsp";
    }
    
}
相關文章
相關標籤/搜索