springboot单文件上传和多文件上传

957 阅读1分钟

1、设置文件上传大小的限制:

yml配置文件设置:

spring:
   servlet:
     multipart:
       max-file-size: 10MB
       max-request-size: 100MB

2、前端页面:

3、control层

package com.jf3q.study.control;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@Controller
@Slf4j
public class RegControl {

    @GetMapping("/toreg")
    public  String toreg(){
        return "register";
    }


    /**
     *
     * 平时遇到自己解决不了的bug问题可以来编程问答平台悬赏问答,
     * 解决不了不要钱,地址:https://www.jf3q.com/
     * @param username
     * @param password
     * @param faceImg
     * @param lifeimg
     * @return
     */
    @PostMapping("/reg")
    public String reg( @RequestParam("username") String username,
                       @RequestParam("username") String password,
                       @RequestParam("faceImg") MultipartFile faceImg,
                       @RequestParam("lifeimg") MultipartFile[] lifeimg ) throws IOException {

        log.info("username:{},password:{},faceImg:{},lifeimg:{}",username,password,faceImg.getSize(),lifeimg.length);

        if(!faceImg.isEmpty()){
            String originalFilename = faceImg.getOriginalFilename();//获取上传文件的名字
            faceImg.transferTo(new File("E:\\upload\\"+originalFilename));
        }
        if(lifeimg.length > 0){
            for(MultipartFile img :lifeimg){
                if(!img.isEmpty()){
                    String originalFilename = img.getOriginalFilename();//获取上传文件的名字
                    img.transferTo(new File("E:\\upload\\"+originalFilename));
                }

            }
        }


        return "login";
    }
}

4、如果有拦截器的话,拦截器设置下放行

@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new LoginInterceptor())
            .addPathPatterns("/**") //所有请求都被拦截,包括静态资源
            .excludePathPatterns("/","/login","/toreg","/reg","/img/**","/js/**","/css/**","/favicon.ico");//设置不拦截的路径
}

5、效果如下:

有什么不懂得可以q我1913284695