日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

springmvc接受對象參數和MultipartFile參數的問題

作者:小徐敲java 更新時間: 2024-04-07 編程語言

1:如果單獨的只有實體對象,對象里面沒有MultipartFile屬性

1-1:DTO對象

@Slf4j
@Data
public class PaperFileDTO {
    private String paperFileName;
    private Integer auditTypeId;
    private String studyType;
    private Integer studyTypeId;
    private Integer paperDuration;
    private String joinNumber;
    private String paperAttention;
    private String[] paperTime;
}

1-2:第一種方法:springMVC接受參數@RequestBody

@PostMapping(value = "/upload/document")
public Result<String> uploadFile( @RequestBody PaperFileDTO paperFileDTO) {
        MultipartFile file=null;
        String result = sysStudyPaperFileService.uploadFile(paperFileDTO,file);
        return Result.OK(result);
    }

1-3:第二種方法:springMVC接受參數

@PostMapping(value = "/upload/document")
public Result<String> uploadFile( PaperFileDTO paperFileDTO) {
        MultipartFile file=null;
        String result = sysStudyPaperFileService.uploadFile(paperFileDTO,file);
        return Result.OK(result);
    }

2:第一種接受方法:前端傳送過來有對象和MultipartFile

2-1:DTO對象

@Slf4j
@Data
public class PaperFileDTO {
    private String paperFileName;
    private Integer auditTypeId;
    private String studyType;
    private Integer studyTypeId;
    private Integer paperDuration;
    private String joinNumber;
    private String paperAttention;
    private String[] paperTime;
    private MultipartFile file;
}

2-2:MultipartFile 封裝在對象里,就不能使用@RequestBody接受springMVC參數,只能這樣接收

public Result<String> uploadFile(PaperFileDTO paperFileDTO) {
        MultipartFile file=null;
        String result = sysStudyPaperFileService.uploadFile(paperFileDTO,file);
        return Result.OK(result);
    }

3:第二種接受方法:前端傳送過來有對象和MultipartFile

2-1:DTO對象

@Slf4j
@Data
public class PaperFileDTO {
    private String paperFileName;
    private Integer auditTypeId;
    private String studyType;
    private Integer studyTypeId;
    private Integer paperDuration;
    private String joinNumber;
    private String paperAttention;
    private String[] paperTime;
}

2-2:MultipartFile 不封裝在對象里,這樣接收

public Result<String> uploadFile(  PaperFileDTO paperFileDTO,@RequestBody MultipartFile file) {
        String result = sysStudyPaperFileService.uploadFile(paperFileDTO,file);
        return Result.OK(result);
    }

前端必須使用multipart 和form-data

3:接受MultipartFile接受參數必須和前端傳參一致或者用@RequestParam(“file”)指定

public Result<String> uploadFile(  PaperFileDTO paperFileDTO,@RequestParam("file") MultipartFile multipartFile ) {
        String result = sysStudyPaperFileService.uploadFile(paperFileDTO,multipartFile );
        return Result.OK(result);
    }

4:多文件上傳用MultipartFile[] 接受

public Result<String> uploadFile( @RequestBody MultipartFile[] multipartFile ) {
		for (int i = 0; i < multipartFile.length ; i++) {
            sysStudyPaperFileService.uploadFile(multipartFile[i] );
        }
        
        return Result.OK("上傳完成");
    }

5:不可以這樣傳參,只能會有一個傳參成功paperFile或者file:

@Data
public class PaperFileDTO {
    private PaperFile paperFile;
    private MultipartFile file;
}

原文鏈接:https://blog.csdn.net/qq_19891197/article/details/128653537

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新