对多部分文件使用@RequestParam是正确的方法吗?

我正在开发一个Spring MVC应用程序,我想在控制器中处理多部分请求。在我MultiPartFile

也传递的请求中,当前我正在使用@RequestParam获取文件参数,该方法看起来像,

@RequestMapping(method = RequestMethod.POST)

public def save(

@ModelAttribute @Valid Product product,

@RequestParam(value = "image", required = false) MultipartFile file) {

.....

}

上面的代码在我的服务中效果很好,并且文件在服务器端。现在我在某处看到,在文件情况下,需要使用@RequestPart注释而不是@RequestParam@RequestParam文件有什么用吗?还是将来可能导致任何类型的错误?

回答:

@RequestParamMultipartfile一起使用没错。

@RequestParam批注还可用于将“ multipart / form-

data”请求的一部分与支持相同方法参数类型的方法参数相关联。主要区别在于,当方法参数不是String时,@

RequestParam依赖于通过注册的Converter或PropertyEditor进行的类型转换,而@RequestPart依赖于HttpMessageConverters,并考虑了请求部分的“

Content-Type”标头。@RequestParam可能与名称-

值表单字段一起使用,而@RequestPart可能与包含更复杂内容(例如JSON,XML)的部分一起使用。

参见http://docs.spring.io/spring/docs/current/javadoc-

api/org/springframework/web/bind/annotation/RequestPart.html

以上是 对多部分文件使用@RequestParam是正确的方法吗? 的全部内容, 来源链接: utcz.com/qa/427271.html

回到顶部