1.不满足表单上传文件的三要素
1)form表单项input类型为file
2)form提交方式为post
3)form的enctype属性是多部分表单形式,enctype=“multipart/form-data”
<%--单文件上传--%>
<form method="post" action="/user/file1" enctype="multipart/form-data">
<span>名字:</span><input type="text" name="username"><br>
<span>文件:</span><input type="file" name="uploadFile"><br>
<input type="submit" value="提交">
</form>
2.配置文件解析器的id有误,必须为multipartResolver
<!--配置文件上传解析器 注意此处的id是有要求的,必须为这样,否则报错-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--上传文件总大小-->
<property name="maxUploadSize" value="500000"/>
<!--最大单个上传文件大小-->
<property name="maxUploadSizePerFile" value="500000"/>
<!--文件编码-->
<property name="defaultEncoding" value="UTF-8"/>
</bean>
3.表单中提交文件的name属性值与服务端接收文件的MultipartFile对象名不一致
1中表单的文件name为uploadFile,控制层的接收文件的对象名也要为uploadFile
//------------------单文件上传------------------
@RequestMapping(value = "/file1")
@ResponseBody
public void file1(String username,MultipartFile uploadFile) throws Exception {
System.out.println(username);
//获取文件的全名称(包括后缀)
String originalFilename = uploadFile.getOriginalFilename();
//保存文件
uploadFile.transferTo(new File("D:/"+originalFilename));
}