上传文件的话我们需要选引进两个相关的jar包
commons-fileupload-1.3.3.jar
commons-io-2.5.jar
将org.springframework.web.multipart.commons.CommonsMultipartResolver交给Spring的IOC容器来管理,配置id="multipartResolve" IOC容器会在开启时自行初始化,
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="4666666"/>
</bean>
下面就是实现代码
@Controller
@RequestMapping("/upload")
public class UpLoadController {
@RequestMapping("/toup")
public String toup(){
return "upload/upload";
}
@RequestMapping("/upload")
public String upLoad(MultipartFile ooo) throws IllegalStateException, IOException{
long size = ooo.getSize();
System.out.println(size);
String filename = ooo.getOriginalFilename();
File file = new File("D:/upload/file");
if(!file.exists()){
file.mkdirs();
}
ooo.transferTo(new File(file,filename));
return "upload/index";
}
@RequestMapping("/uploa")
public String uploa(MultipartFile ooo, HttpServletRequest req) throws IllegalStateException, IOException{
String filename = ooo.getOriginalFilename();
ooo.getSize();
String path = req.getServletContext().getRealPath("/upload");
System.out.println("path:"+path);
File savePath = new File(path);
if(!savePath.exists()){
savePath.mkdirs();
}
ooo.transferTo(new File(savePath,filename));
req.setAttribute("path", req.getContextPath()+"/upload/"+filename);
System.out.println(req.getAttribute("path"));
return "upload/index";
}
}
这里时页面代码
<body>
上传成功<img alt="8888" src="${path }">
</body>