文件上传下载

服务端要接收客户端上传的文件,通常会使用Apache的两个组件:

  • commons-fileupload
  • commons-io

Spring框架在Spring-web包中对文件上传下载进行了封装,简化了服务端代码,只需要在Controller的方法中,声明一个MultipartFile类型的参数即可。

复制代码
 1 @RestController
 2 @RequestMapping("/common")
 3 public class CommonController {
 4 
 5     @Value("${picture.path}")
 6     private String basePath;
 7 
 8     /**
 9      * 文件上传
10      *
11      * @param file 文件名必须和前端的保持一致
12      * @return
13      */
14     @PostMapping("/upload")
15     public R<String> upload(MultipartFile file) {
16         //file是一个临时文件,需要转存,否则本次请求完成后临时文件会删除
17         String originalFilename = file.getOriginalFilename();
18         String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
19         String filename = UUID.randomUUID() + suffix;
20 
21         File dir = new File(basePath);
22         if (!dir.exists()) {
23             dir.mkdirs();
24         }
25 
26         try {
27             file.transferTo(new File(basePath + filename));
28         } catch (IOException e) {
29             e.printStackTrace();
30         }
31         return R.success("filename");
32     }
33 }
复制代码

 

 

  

posted @   LiRang2022  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示