java 如何实现导出文件
原创
©著作权归作者所有:来自51CTO博客作者我是大头鸟的原创作品,请联系作者获取转载授权,否则将追究法律责任
上面的图片比较模糊,下面我们来看看导出的具体的例子
@RequestMapping(value = "/download", method = RequestMethod.GET)
@ResponseBody
public void testDownload(HttpServletResponse res) {
String fileName = "aaa.txt";
res.setHeader("content-type", "text/plain");
res.setHeader("content-type", "application/x-msdownload;");
res.setContentType("text/plain; charset=utf-8");
res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
OutputStream os = null;
try {
os = res.getOutputStream();
bis = new BufferedInputStream(new FileInputStream(new File("C://Users//lxn//Desktop//aaa.txt")));
int i = bis.read(buff);
while (i != -1) {
os.write(buff, 0, buff.length);
os.flush();
i = bis.read(buff);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("export file finish");
}
这个是接口,那么前台怎么处理
$("#dcbtn").click(function() {
var serviceUrl = getProjectURL();
window.open(serviceUrl + "fpdc/download");
})
这样就实现了文件的导出,我们直接用window.open(+资源接口+)
而不是对其返回结果进行window.open
希望对你有所帮助