簡體   English   中英

在Spring中上傳文件而不使用表單數據

[英]Upload File in Spring without using form data

我在Java中使用Spring框架。 我正在嘗試編寫一個可以接受一個文件上傳的API端點。 我不想使用表單數據。 基本上我想讓以下curl命令在我的端點上工作

curl -XPOST localhost:8080/upload -d @local_file.data

Spring有辦法做到這一點嗎? 似乎我想將@RequestBody與File一起使用,但是對於大多數人來說,這似乎是一個可怕的想法。 為什么? MultipartFile與File有何不同? 僅因為它支持表單數據?

我所能找到的就是表格和MultipartFile。 我正在做的事情本質上是錯誤的嗎? 我在使用Python / Django之前就已經做到了,而且還不難。

似乎我的問題的答案是將@RequestBody與字節數組一起使用。 這將啟動ByteArrayHttpMessageConverter,它是默認HttpMessageConverters之一。 我最終得到了這樣的API端點。

@RequestMapping(value = "/upload", method=RequestMethod.POST)
public Response uploadFile(@RequestBody byte[] file) {
  ...
}

初步測試工作。 在以下位置的Spring文檔中找到了它: http : //docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestbody

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM