如果要在SpringMVC中上传和下载文件必须要添加两个jar包,并且将这两个jar包考到项目中的lib目录,如下图所示:
然后想SpringMVC配置文件spring-mvc.xml中添加文件上传的相关配置。代码如下:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="2097152" />
</bean>
然后写文件上传controller方法,方法代码如下:
@RequestMapping("/upload")
public ModelAndView upload(
@RequestParam(value = “file”, required = true) MultipartFile myFile) throws IOException {
String strFileName = “”;
// 判断是否上传文件
if (myFile.isEmpty()) {
System.out.println(“未上传文件”);
} else {
// 获取文件上传的属性
System.out.println(“文件大小” + myFile.getSize());
System.out.println(“文件类型” + myFile.getContentType());
System.out.println(“文件名称” + myFile.getName());
System.out.println(“文件原名” + myFile.getOriginalFilename());
System.out.println("====================================");
// 文件上传路径
String upDir = “F:/z/”;
// 获取文件原名
String fullName = myFile.getOriginalFilename();
// 获取扩展名称
String ext = fullName.substring(fullName.lastIndexOf("."));
// 拼接文件保存的名称
String fileName = System.nanoTime() + ext;
// 保存文件
FileUtils.writeByteArrayToFile(new File(upDir, fileName), myFile.getBytes());
System.out.println("保存的文件名称为:" + fileName);
strFileName = fileName;
}
ModelAndView mv = new ModelAndView("/fileDemo/uploadSuccess");
mv.addObject("fileName", strFileName);
return mv;
}
最后写文件上传的form表单,代码如下:
最后上传成功,效果如下图: