springMVC實現 MultipartFile 多文件上傳


1、Maven引入所需的 jar 包(或自行下載)

<dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>

2、配置Sping配置文件

<!-- 配置文件解析器 -->
    <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>

3、jsp頁面form表單,enctype="multipart/form-data"

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

4、controller類

package com.hwua.controller;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

@RequestMapping("/user")
@Controller
public class FileController {
   @RequestMapping(
"/upload") public ModelAndView fileUpload(HttpServletRequest request,@RequestParam MultipartFile[] upload) throws IOException { ModelAndView mv = new ModelAndView(); String path=request.getServletContext().getRealPath("/"); File file =new File(path); if (!file.exists()){ file.mkdirs(); }
     
if (upload!=null&&upload.length>0){ for (int i=0;i<upload.length;i++){ String filename = upload[i].getOriginalFilename(); String uuid = UUID.randomUUID().toString().toUpperCase(); filename = uuid+"_"+filename; upload[i].transferTo(new File(file,filename)); mv.addObject("info","上傳成功!"); mv.setViewName("success"); } } return mv; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM