Java 没有多部分/表单数据的Spring MVC文件上载?
我有一个类似于Java 没有多部分/表单数据的Spring MVC文件上载?,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,我有一个类似于POST/animals/1/images的路径。我在文档中读到,您可以将MultipartFile声明为参数,它将包含该文件。但这是对的吗?我的意思是,当您只有一个文件要上传(或一个文件数组)时,我是否需要使用内容类型多部分/表单数据?如果没有,方法签名应该是什么?据我所知,如果您通过HTTP协议上传任何带有POST的文件,您必须使用多部分/表单数据。表单数据只是一个名称,因为通常(总是?)当您通过HTTP发送内容时,您使用表单 对于这种情况,使用MultipartFile参数是
POST/animals/1/images
的路径。我在文档中读到,您可以将MultipartFile
声明为参数,它将包含该文件。但这是对的吗?我的意思是,当您只有一个文件要上传(或一个文件数组)时,我是否需要使用内容类型多部分/表单数据
?如果没有,方法签名应该是什么?据我所知,如果您通过HTTP协议上传任何带有POST的文件,您必须使用多部分/表单数据。表单数据
只是一个名称,因为通常(总是?)当您通过HTTP发送内容时,您使用表单
对于这种情况,使用MultipartFile
参数是一种有效的解决方案-当然,除非您更愿意使用MultipartFile作为其唯一属性来编写整个命令对象,根据惯例,这是首选方法。您可以使用以下代码片段:
@POST
@Path("/uploadfile")
public void upload(File file) {
//TODO code goes here
}
如果您的表单包含除此文件以外的其他信息,我建议您使用默认的Spring上传解决方案(使用Apache上传解决方案),并避免使用Servlet 3的已知解决方案,因为您将遇到UTF-8编码问题。我这么说只是为了以防万一,因为我花了很多时间在这件事上。嗨,塔尔西奥,欢迎来到Stack Overflow!您是否可以添加一个书面解释,说明为什么(或为什么不)需要内容类型多部分/表单数据
。否则,必须对正文进行处理,以将数据与附件分开。