springboot基于FileUpload包方式上传多个文件

原创 Laughing  2019-07-28 10:47  阅读 22 次 评论 0 条

添加万恶的依赖

  1. <!-- 附件上传-->  
  2.         <dependency>  
  3.             <groupId>commons-fileupload</groupId>  
  4.             <artifactId>commons-fileupload</artifactId>  
  5.             <version>1.3.3</version>  
  6.         </dependency>  

修改配置文件,屏蔽servlet自带的附件上传

  1. #配置上传文件信息  
  2.   http:  
  3.     multipart:  
  4.       # 最大支持文件大小 即单个文件大小  
  5.       max-file-size: 2m  
  6.       # 最大支持请求大小 即一次性上传的总文件大小  
  7.       max-request-size: 10m  
  8.       #取消Servlet自带的上传  
  9.       enabled: false  

增加控制器

  1. package Net.XiangCaoWuYu.Controllers;  
  2.   
  3. import org.slf4j.Logger;  
  4. import org.slf4j.LoggerFactory;  
  5. import org.springframework.util.ResourceUtils;  
  6. import org.springframework.web.bind.annotation.*;  
  7. import org.springframework.web.multipart.MultipartFile;  
  8.   
  9. import javax.servlet.http.HttpServletRequest;  
  10. import java.io.File;  
  11. import java.io.IOException;  
  12. import java.text.SimpleDateFormat;  
  13. import java.util.Date;  
  14.   
  15. /** 
  16.  * ClassName: CommonsFileUpload <br/> 
  17.  * Description: <br/> 
  18.  * date: 2019/7/28 9:28<br/> 
  19.  * 
  20.  * @author lisen01<br /> 
  21.  * @since JDK 1.8 
  22.  */  
  23. @RestController  
  24. @ResponseBody  
  25. @RequestMapping(value = "/commonsfileupload")  
  26. public class CommonsFileUpload {  
  27.   
  28.     private static final Logger logger = LoggerFactory.getLogger(CommonsFileUpload.class);  
  29.   
  30.     @PostMapping("/upload")  
  31.     public String Upload(@RequestParam MultipartFile[] files, @RequestParam String name, HttpServletRequest request) throws IOException {  
  32.         if (files.length <= 0) {  
  33.             return "请先选择要上传的附件";  
  34.         }  
  35.         for (MultipartFile file : files) {  
  36.             if (file.isEmpty()) {  
  37.                 return "文件信息不能为空";  
  38.             }  
  39.             String fileType = file.getContentType();  
  40.             String fileName = file.getName();  
  41.             String fileOriginalName = file.getOriginalFilename();  
  42.             //String fileSavePath = request.getServletContext().getRealPath("/static/sources");  
  43.             //使用jar包,放到同级目录  
  44.             File rootPath = new File(ResourceUtils.getURL("classpath:").getPath());  
  45.             String fileSavePath = rootPath.getAbsolutePath()+"/static/upload/";  
  46.             Date date = new Date();  
  47.             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");  
  48.             fileSavePath = fileSavePath + simpleDateFormat.format(date);  
  49.             fileSavePath = fileSavePath + "/" + fileOriginalName;  
  50.             fileSavePath.replace("/", File.separator);  
  51.             File saveFile = new File(fileSavePath);  
  52.             if (!saveFile.getParentFile().exists()) {  
  53.                 saveFile.getParentFile().mkdirs();  
  54.             }  
  55.             file.transferTo(saveFile);  
  56.         }  
  57.         return "上传成功";  
  58.     }  
  59. }  

利用postman测试

本文地址:https://www.lisen.me/springboot-uploads-multiple-files-based-on-fileupload-package.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情