我正在尝试使用上传文件spring
。下面是我的代码如何工作,但是如果我尝试使用它,则会得到以下信息response
:
HTTP状态400-所需的MultipartFile参数’file’不存在
我不明白错误是什么。
我正在使用高级Rest Client进行测试,并且正在将文件作为附件上传。
我的Java代码:
@RequestMapping(value = "/upload",headers = "Content-Type=multipart/form-data", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file)
{
String name= "test.xlsx";
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File(name)));
stream.write(bytes);
stream.close();
return "You successfully uploaded " + name + "!";
} catch (Exception e) {
return "You failed to upload " + name + " => " + e.getMessage();
}
} else {
return "You failed to upload " + name + " because the file was empty.";
}
}
春天需要
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
bean处理文件上载。
您应该在application context
文件中注册该bean 。
Content-Type也应该有效。就你而言enctype="multipart/form-data"
编辑1:
您可以将上载和内存大小赋予bean属性:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- max upload size in bytes -->
<property name="maxUploadSize" value="20971520" /> <!-- 20MB -->
<!-- max size of file in memory (in bytes) -->
<property name="maxInMemorySize" value="1048576" /> <!-- 1MB -->
</bean>
这是我的控制器: 我的mvc-dispatcher-servlet.xml pom.xml:
简单示例:jsp中的表单 我的控制器的方法 我的上下文xml文件 描述由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求。 Apache Tomcat/8.5.12
我正在使用SpringMVC编写一个Web应用程序。在我的jsp中是一个表单,内容与Ajax一起发送到我的控制器。映射方法的简化代码如下所示: 我已将CustomDateEditor注册到: 当表单输入中的字符串正确时,不会抛出异常。问题是,当日期的输入为空或包含无法转换为日期的字符串时,我会得到异常:< code >所需的日期参数' createdTo '不存在。 我甚至编写了自己的DateEd
company.js CompanyController.java 请告诉我为什么不执行成功块。
背景 我正在Java8上构建一个Spring MVC web应用程序,并在Tomcat8上运行它。除了这些信息之外,Spring版本是和我给您介绍了环境背景,因为一些问题解决者提到该版本与此错误有关。 下面是我的表格 奇怪的事 是通过上传文件没有问题。它就像一个魅力!!对于我没有什么可抱怨的!! 我已经用这个关键字搜索了谷歌,并尽可能多地搜索,就像我在发布关于的问题之前经常做的那样 我真的不明白为