Springboot 03 ---- 利用MultipartFile 上传单个文件

文件上传可以有两种形式:

  1. 将图片资源上传到oos内容存储服务器,通过url访问图片资源
  2. 上传到项目服务器

这里采用第二种形式:Springboot MultipartFile + vue,上传资源到项目服务器中

设置上传文件大小

在Springboot项目中,默认上传文件大小为1M,若需要更大容量,需要 application.properties 手动设置

#设置上传文件大小,默认只有1 m
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB

前端页面

前端需要使用input,本人使用vue的axios进行post(前端页面有多种实现方式,使用post传文件就行)




    
    Title



新增分类
分类图片
提交

后端服务端代码

在Controller中,使用MultipartFile接收文件,并通过获得项目根路径

request.getServletContext().getRealPath();

完整代码:

@PostMapping("/testPost")
    public void addTest(MultipartFile image, HttpServletRequest request) throws Exception {
        String filePath = request.getServletContext().getRealPath("img/test");
        File fileFolder = new File(filePath);
        File file = new File(fileFolder, "test");
        if(!file.getParentFile().exists()){
            file.getParentFile().mkdirs();
        }
        image.transferTo(file);
    }v
  • image.transferTo(file): 将MultipartFile保存到创建的file中
  • request.getServletContext().getRealPath(): 获得的项目根路径默认为 src/main/webapp中,上面代码将文件保存在了src/main/webapp/img/test中

你可能感兴趣的:(Springboot 03 ---- 利用MultipartFile 上传单个文件)