繁体   English   中英

如何使用 Spring 引导传入请求将多部分文件映射到 DTO

[英]How To Mapping Multipart file to DTO using Spring Boot for incoming request

我有这个 DTO 请求 Class

Public Class MyRequestDTO(){

private String name;

private MultipartFile docPic;

}

我想在 controller 中检索


@PostMapping("/test")
public String test(@RequestBody MyRequestDTO dto){

system.out.print(dto.getdocPic.getOriginalFileName());

return "success;
}

但是当我尝试显示这个新请求的文件时总是得到 javaNullexception,在 DTO 中映射多部分文件是否正确?

使用最新的 spring 启动,我们有一个没有 @RequestBody 注释的运行示例,所以试试这个:

@PostMapping("/test")
public String test(MyRequestDTO dto){

如果这不起作用,下一个你应该仔细检查的地方是你的请求。 特别是Content-type 上面的签名适用于内容类型为: multipart/form-data的请求

您收到 javaNullexception 是因为您收到 MyRequestDTO dto 作为 null 或 dto object 的某些属性指向 null。

所以在调用null object上的getter方法之前请务必确定。

首先得到 dto.getdocPic 没有指向 null。


@PostMapping("/test")
public String test(@RequestBody MyRequestDTO dto){

    if(dto.getdocPic() != null){
        
         system.out.print(dto.getdocPic().getOriginalFileName());
    }

    return "success;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM