- 在实际开发中,我们可能会给用户提供相应的模板的下载,这个时候,就涉及到路径的问题,以下是我做的一个简单的下载功能:
@RequestMapping("download.do")
public void downloadPlan(HttpServletResponse response,HttpServletRequest request) throws IOException{
OutputStream os = null;
String filePath = request.getSession().getServletContext().getRealPath("statics/bckj/doc/demo/plan.xlsx");
File f = new File(filePath);
FileInputStream input = new FileInputStream(f);
byte[] buffer = new byte[(int)f.length()];
int offset = 0;
int numRead = 0;
while (offset<buffer.length&&(numRead-input.read(buffer,offset,buffer.length-offset))>=0) {
offset+=numRead;
}
input.close();
os = response.getOutputStream();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;filename="+f.getName());;
os.write(buffer);
}