【问题标题】:File upload problem. In what form to send data to API文件上传问题。以什么形式向 API 发送数据
【发布时间】:2021-11-28 18:41:26
【问题描述】:

提示,我在将文件上传到数据库时遇到问题。我需要实现一个控制器,它接受从 1 到 n 的多个文件以及附加参数。 例如:

public class FilesDTO{
  private String name;


    private String type;

    private MultipartFile file;

get / get 
}

进一步实现控制器,例如:

 @RequestMapping(value = "file/{id}", method = RequestMethod.POST, consumes = { MediaType.APPLICATION_JSON_VALUE,
            MediaType.MULTIPART_FORM_DATA_VALUE })
    public ResponseEntity<?> addFile(@PathVariable Long id, @ModelAttribute List<FilesDTO> filesRequestList) throws IOException {

      // log..

    }

如何正确发送请求,以什么形式发送到这个控制器?

如果您使用邮递员。 也许我误解了如何实现控制器,告诉我怎么做最好 也许这不应该通过 dto 来完成

【问题讨论】:

    标签: java spring-boot multipartform-data


    【解决方案1】:

    使用 multipartfile 数组(你可以尝试使用 list 代替)并通过 form-data 发送文件

    @RequestMapping(value = "file/{id}", method = RequestMethod.POST)
    public ResponseEntity<?> addFile(@PathVariable Long id, @RequestBody MultipartFile[] filesRequestList) throws IOException {
    
      // log..
    
    }
    

    【讨论】:

    • 以及如何向每个文件数组添加任何类型?例如,这个视频或文档或照片是什么?
    • 您可以使用MultipartFile类的getContentType函数或从文件扩展名中提取它
    • 如果这些是您自己的名称?不是文件格式,而是它的名称,例如,不是照片,而是报告,以便将它们与文件 MultipartFile
    猜你喜欢
    • 1970-01-01
    • 2012-08-16
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 2016-03-07
    • 1970-01-01
    相关资源
    最近更新 更多