我试图围绕Java输出/输入流,关闭和刷新我的头。我有一种情况,我想使用来自服务器的数据使用Apache POI创建文件。我希望文件一旦从数据库中检索到第一条记录就开始下载(显示浏览器底部的文件已经开始下载)。Java输出流,触发文件下载从数据库检索所有数据之前下载
public void createExcelFile(final HttpServletResponse response,
final Long vendorId) {
try {
// setup responses types...
final XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
final XSSFSheet sheet = xssfWorkbook.createSheet("sheets1");
// create file with data
writeExcelOutputData(sheet, xssfWorkbook);
xssfWorkbook.write(response.getOutputStream());
xssfWorkbook.close();
}
catch (final Exception e) {
LOGGER.error("Boom");
}
上面的代码将执行文件下载没有问题,但是这可能是一个很大的文件。我走下车获得(约20/30秒)的数据,然后后,开始下载<没有好...
我可以achive什么,我需要什么或者最好的方法,在此先感谢
干杯: )
您正在尝试传输一个Excel文件?除非它是一个流,否则在它完成之前不能发送它。 –
如果你在一个流中创建它,你将无法下载它。客户端浏览器将不得不用一些插件来解释它。 –
我会批量返回数据......因此触发文件在所有批次恢复之前开始下载是不可能的? – rogger2016