对多部分文件使用@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
文件有什么用吗?还是将来可能导致任何类型的错误?
回答:
@RequestParam
与Multipart
file一起使用没错。
@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