Eri*_*reg 2 java upload file spring-mvc
我在 Java 中使用 Spring 框架。有了它,我正在尝试编写一个 API 端点,该端点接受一个文件进行上传。我不想使用表单数据。基本上我希望以下 curl 命令在我的端点上工作
curl -XPOST localhost:8080/upload -d @local_file.data
Run Code Online (Sandbox Code Playgroud)
有没有办法用Spring做到这一点?似乎我想将 @RequestBody 与 File 一起使用,但对大多数人来说,这似乎是一个可怕的想法。为什么?MultipartFile 与 File 有何不同?仅仅因为它支持表单数据?
我能找到的只是关于表单和 MultipartFile 的讨论。我正在做的事情本质上是错误的吗?我在使用 Python/Django 之前就已经完成了,这并不难。
我的问题的答案似乎是将 @RequestBody 与字节数组一起使用。这会启动 ByteArrayHttpMessageConverter,它是默认的 HttpMessageConverters 之一。我最终得到了这样的 API 端点。
@RequestMapping(value = "/upload", method=RequestMethod.POST)
public Response uploadFile(@RequestBody byte[] file) {
...
}
Run Code Online (Sandbox Code Playgroud)
初步测试工作。在此处的 Spring 文档中找到它:http : //docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestbody
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |