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();
}

 

posted @ 2018-03-15 10:34  syf666  阅读(515)  评论(0)    收藏  举报