gpt4 book ai didi

Spring MVC,使用其他字段上传文件

转载 作者:IT老高 更新时间:2023-10-28 13:46:27 24 4
gpt4 key购买 nike

我正在尝试使用其他表单字段构建上传文件的方法。

这是带有文件和其他一些字段的标准 Html 表单:

<form action="products" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="text" name="name">
<input type="text" name="email">
<input type="submit" value="Upload" name="submit">
</form>

请注意:我想使用标准的 HTML 表单,而不是像 <form:form ...> 这样的 Spring 表单标签等等

这是我的 Controller 方法:

@ResponseBody
public MyDto createProduct(@RequestBody MyDto dto, @RequestParam MultipartFile file) {

}

但我收到错误:Required request body content is missing .

我应该如何构造我的 web 方法来接收文件以及 DTO 对象作为参数?如果我可以将 MultipartFile 对象包含到 MyDto 中,那就太好了。 .

最佳答案

您的问题发生是因为在绑定(bind)第一个参数的值时消耗了您的主体,通过省略 dto 的注释,框架将实例化并从请求值填充匹配的属性

  @ResponseBody
public MyDto createProduct(MyDto dto, @RequestParam MultipartFile file) {

}

还请注意,您可以将 MultipartFile 类型的 file 属性添加到您的 MyDto 实例中,它也会正确实例化和绑定(bind),所以只是

@ResponseBody
public MyDto createProduct(MyDto dto) {

}

关于Spring MVC,使用其他字段上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29370143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com