java 如何实现导出文件_下载

 上面的图片比较模糊,下面我们来看看导出的具体的例子

@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

希望对你有所帮助