SSM+maven 上传文件,与下载,保存到本地
pom 文件的设置

spring-mvc.xml的配置。

web.xml配置。

页面的设置

controller层上传的代码
/*
文件上传*/
@RequestMapping("uploadimg")
public String uploadimg(HttpServletRequest request, HttpServletResponse response,
@RequestParam MultipartFile file)
throws IOException {
/* 设置文件的路径,上传到了自己的tomcat,项目文件夹下的webapp/image/upload */
String savePath = request.getSession().getServletContext().getRealPath("/image/upload");
System.out.println("上传图片项目中路径" + savePath);
/* 获得文件名字 */
String fileName = file.getOriginalFilename();
System.out.println("文件名" + fileName);
File dir = new File(savePath, fileName);
if (!dir.exists()) {
dir.mkdirs();
}
// MultipartFile自带的解析方法
file.transferTo(dir);
return "xianshi";
}
controller 文件下载的代码
/**
* 文件下载功能
*
* @param request
* @param response
* @throws Exception
*/
@RequestMapping("/down")
public void down(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 模拟文件,myfile.txt为需要下载的文件
String fileName = request.getSession().getServletContext().getRealPath("uploadimg") + "/flowe.jpg";
// 获取输入流
InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
// 假如以中文名下载的话
String filename = "下载文件.jpg";
// 转码,免得文件名中文乱码
filename = URLEncoder.encode(filename, "UTF-8");
// 设置文件下载头
response.addHeader("Content-Disposition", "attachment;filename=" + filename);
// 1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
int len = 0;
while ((len = bis.read()) != -1) {
out.write(len);
out.flush();
}
System.out.println("下载路径" + out);
out.close();
}
浙公网安备 33010602011771号