@RequestMapping("/exportDocument")
@ResponseBody
public void exportDocument(HttpServletRequest request,HttpServletResponse response) throws IOException {
XWPFDocument xdoc = null;
FileInputStream is = null;
OutputStream out=null;
try {
String wordName="数聚空港2.0使用手册.docx";
wordName = new String(wordName.getBytes(), "iso8859-1");
// File file = new File("/root/usersGuide.docx");
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename="
+ wordName);
is = new FileInputStream("/root/usersGuide.docx");
out=response.getOutputStream();//获得一个output对象
xdoc = new XWPFDocument(is);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
xdoc.write(out);//Write out this document to an Outputstream.
is.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/*上述是都word文档的下载*/
/*下面是对各种类型的文件下载*/
/*//2.获取要下载的文件名
String fileName = "test.png";
//3.设置content-disposition响应头控制浏览器以下载的形式打开文件
response.setHeader("content-disposition", "attachment;filename="+fileName);
//4.获取要下载的文件输入流
InputStream in=null;
OutputStream out=null;
try {//获取要下载的文件的绝对路径
in=new FileInputStream("/root/运营线路图0.3.5版.png");
int len = 0;
//5.创建数据缓冲区
byte[] buffer = new byte[1024];
//6.通过response对象获取OutputStream流
out = response.getOutputStream();
//7.将FileInputStream流写入到buffer缓冲区
while ((len = in.read(buffer)) > 0) {//in.read(byte[] b)最多读入b.length个字节 在碰到流的结尾时 返回-1
//8.使用OutputStream将缓冲区的数据输出到客户端浏览器
out.write(buffer,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
in.close();
out.close();
}*/
}
原文:http://www.cnblogs.com/wangxiaomei/p/6970697.html