后台接收前端的文件对象-MultipartFile

方式一:

后端代码:

@RequestMapping(value="/file/reciveFile",method=RequestMethod.POST)
    public Result reciveFile(MultipartFile file) throws IOException {
        //获取文件名
        file.getName();
        //获取输入流
        file.getInputStream();
        //获取长度
        file.getInputStream().available();

yml文件配置请求大小:

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

前端测试:postman举例------请求类型 form-data 参数类型 file

方式二: DiskFileItemFactory

@RequestMapping(value="/file/reciveFile2",method=RequestMethod.POST)
    public Result reciveFile2(HttpServletRequest request) throws IOException, FileUploadException {
        DiskFileItemFactory factory=new DiskFileItemFactory();
        ServletFileUpload upload=new ServletFileUpload(factory);
        List<FileItem> list=upload.parseRequest(request);
        for(FileItem item:list){
            System.out.println(item.getFieldName());
        }


        return null;
    }

配置yml文件: 主要是enable 关闭默认的

spring:
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB
      enabled: false

postman验证: 这里文件参数可以写不同的变量名

备注:

两种方式不兼容,项目中只能运用一种。

经验分享 程序员 微信小程序 职场和发展