【问题标题】:Spring File Upload with RequestParam使用 RequestParam 上传 Spring 文件
【发布时间】:2017-11-26 06:13:30
【问题描述】:
【问题讨论】:
标签:
java
spring
spring-mvc
spring-boot
【解决方案1】:
要在春季获得MultipartFile,我们可以使用@RequestPart 或@RequestParam。这些注解用于关联multipart/form-data请求的部分。这是写在spring docs中的:
公共@interface 请求部分
可用于关联部分的注解
带有方法参数的“multipart/form-data”请求。支持的方法
参数类型包括 MultipartFile 和 Spring 的
MultipartResolver 抽象,javax.servlet.http.Part 结合
使用 Servlet 3.0 多部分请求,或其他任何方法
参数,该部分的内容通过
HttpMessageConverter 考虑到“内容类型”
请求部分的标头。 这类似于@RequestBody
确实根据非多部分的内容来解决参数
定期请求。
注意@RequestParam注解也可以用来关联
带有方法参数的“multipart/form-data”请求的一部分
支持相同的方法参数类型。
主要区别在于方法参数不是String时,
@RequestParam 依赖于通过注册的 Converter 进行类型转换或
PropertyEditor 而@RequestPart 依赖于 HttpMessageConverters
考虑到请求的“Content-Type”标头
部分。 @RequestParam 可能与名称-值表单字段一起使用
而@RequestPart 可能与包含更多内容的部分一起使用
复杂的内容(例如 JSON、XML)。
链接:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestPart.html