好记性不如赖笔头…………
String imageName = this.getServletContext().getRealPath("\\WEB-INF\\classes\\图片.jpg");
//创建字节输入流对象
FileInputStream inputStream = new FileInputStream(imageName);
//获取文件名
imageName = imageName.substring(imageName.lastIndexOf("\\")+1);
//将文件名转换为UTF-8格式(重要,如果不转换,下载的文件无法打开,同时文件名也是异常的)
imageName = URLEncoder.encode(imageName, "UTF-8");
//设置响应消息头,告诉浏览器下载文件
resp.setHeader("Content-Disposition", "attachment;filename=" + imageName);
resp.setContentType("application/octet-stream");
//获取响应流对象
ServletOutputStream outputStream = resp.getOutputStream();
//将文件通过resp返回给请求方
int len = 1;
byte[] bs = new byte[1024];
while((len = inputStream.read(bs)) != -1){
outputStream.write(bs,0,len);
}
//关闭流
outputStream.close();
inputStream.close();