spring-文件上传
Categories: Spring
文件上传
文章目录[隐藏]
1.导包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
2.配置
springMVC-servlet.xml配置文件中添加
<!--文件上传解析器-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1048576"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="resolveLazily" value="true"/>
</bean>
注:bean的id不能修改
3.controller
@Controller
public class FileController {
@RequestMapping("/upload.html")
public String fileUpload(@RequestParam("file")MultipartFile file) {
try {
FileUtils.copyInputStreamToFile(file.getInputStream(),//获取文件输入流
new File("E:/upload/",//文件保存路径
file.getOriginalFilename()));//文件保存名-原文件名
} catch (Exception e) {
e.printStackTrace();
}
return "/upload.jsp";
}
}
4.web
form表单
<form action="/upload.html" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
ajax请求
var myFormdata = new FormData();
myFormdata.append("name", $("input[name=i_name]").val());
myFormdata.append("file", $("#file")[0].files[0]);
$.ajax({
url: "/upload.html",
type: 'POST',
data: myFormdata,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
if(data)
location.reload(true);
}
})
注:使用ajax请求jquery版本高一些