Student.Controller.java
@RequestMapping("student")
public class StudentController extends PageController{
@Autowired
private StudentManager studentManager;
@Autowired
private StuIdManager stuIdManager;
@Override
public PageManager getEntityManager() {
return studentManager;
}
@Override
public String getFileBasePath() {
return "student/";
}
@RequestMapping(value = "/save",method=RequestMethod.POST)
public String saveFile(MultipartHttpServletRequest multipartRequest , HttpServletRequest request, HttpServletResponse response, ModelMap modelMap,
Student t, BindingResult result) throws Exception {
String material_address="D:/temp/";
String material_id="";
getManager().save(t);
String student_id=((AbstractEntity) t).getObjectId().toString();
Iterator fileNames=multipartRequest.getFileNames();
while(fileNames.hasNext()){
String fileName=fileNames.next();
MultipartFile file = multipartRequest.getFile(fileName);
if(!file.isEmpty()){
material_id=file.getOriginalFilename();
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(material_address, material_id));
stuIdManager.save(new StuId(material_address,material_id,student_id));
}
}
return "redirect:edit/" + ((AbstractEntity) t).getObjectId() + getMessage("common.base.success", request)
+ "&" + appendAjaxParameter(request) + "&action=" + request.getParameter("action");
}
@RequestMapping(value = "/delete")
public String deletefile(HttpServletRequest request, HttpServletResponse response, @PathVariable Long objectId)
throws Exception {
return handleDelete(request, response, objectId);
}
protected String handleDelete(HttpServletRequest request, HttpServletResponse response, Long objectId)
throws Exception {
getManager().delete(objectId);
return "student/deleteOK" ;
}
}
DownloadController.java
@Controller
@RequestMapping("check")
public class DownloadController extends PageController{
@Autowired
private MaterialManager materialManager;
@RequestMapping(value ="/checkmaterial",method=RequestMethod.GET)
public String checkmaterial( HttpServletRequest request ) throws Exception {
List check=materialManager.searchByNativeSql(Material.class, "select * from STUID where student_id = "+request.getParameter("student_id"));
request.setAttribute("check", check);
return "student/result";
}
@Override
public PageManager getEntityManager() {
return null;
}
@Override
public String getFileBasePath() {
// TODO Auto-generated method stub
return null;
}
@RequestMapping(value ="/download")
public void downFile(HttpServletRequest request, HttpServletResponse response) throws IOException{
//获取文件下载路径
String path = request.getParameter("material_address");
String filename = request.getParameter("material_id");
File file=new File(path+filename);
InputStream fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + filename);
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
}
}