springmvc 文件上传
单个 文件上传
给你jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <title>Title</title> </head> <body> <h1>文件上传</h1> <form action="/first" method="post" enctype="multipart/form-data"> 文件1 <input type="file" name="upload"/> <input type="submit"/> </form> </body> </html>
注意 是 post 以及enctype的写法
xml有一个 bean
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="20971520"></property> <property name="defaultEncoding" value="UTF-8"></property> </bean>
id不能乱起,这是规定的, class : CommonsMultipartResolver
max 文件上传的最大容量 单位为字节 byte 1024byte=1kb
defaultEncoding 为解决文件上传的文件名的乱码
@RequestMapping("/first")
public String first(MultipartFile upload, HttpSession session){
System.out.println("文件上传");
String originalFilename = upload.getOriginalFilename();
String realPath = session.getServletContext().getRealPath("/upload");
File file=new File(realPath,originalFilename);
try {
upload.transferTo(file);
return "ax";
} catch (IOException e) {
e.printStackTrace();
}
return "fil";
}
控制器 upload.getSize()>0 这个可以检查是否文件上传,
单个,你的项目下,要有一个 upload文件夹
originalFilename.endwiith("jsp") 判断文件上传的类型
现在给你们多文件上传
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>文件上传</h1>
<form action="/first" method="post" enctype="multipart/form-data">
文件1 <input type="file" name="upload"/>
文件2 <input type="file" name="upload"/>
文件3 <input type="file" name="upload"/>
<input type="submit"/>
</form>
</body>
</html>
@RequestMapping("/first")
public String first(@RequestParam MultipartFile[] upload, HttpSession session){
System.out.println("文件上传");
for (MultipartFile uu:upload) {
String originalFilename = uu.getOriginalFilename();
String realPath = session.getServletContext().getRealPath("/upload");
File file = new File(realPath, originalFilename);
try {
uu.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
}
}
return "fil";
}
必须进行 @RequestParam
浙公网安备 33010602011771号