gpt4 book ai didi

java - 从 servlet 响应下载 Excel 表格

转载 作者:行者123 更新时间:2023-12-01 16:01:58 24 4
gpt4 key购买 nike

我正在尝试从 servlet 响应下载 Excel 工作表。

当我单击向服务器发送请求以返回 Excel 工作表的链接时,将打开“保存/另存为”对话框,要求保存 Excel 工作表。这是预期的行为。

但在这之间,如果我尝试使用 IE 6 或更低版本,则单击链接后会打开新窗口。然后打开保存/另存为对话框。

其他操作按预期运行,但问题是,新窗口显示消息“无法打开页面”。

有什么办法可以避免打开这个新窗口吗?

我希望“保存”/“另存为”对话框直接出现在单击链接的同一窗口中。

最佳答案

如果您想从 servlet(或实际上任何 Web 应用程序)发送应被视为下载的响应,您可以通过提供正确的内容配置来实现(您甚至可以指定独立于下载内容的文件名) URI):

HttpServletResponse res = .../* * set headers */res.setContentType("application/vnd.ms-excel");res.setHeader("Content-Disposition", "attached; filename=my-workbook.xls");/** pass the download to the response*/try {    OutputStream out = res.getOutputStream();    InputStream in = this.download.getInputStream();    byte[] buffer = new byte[res.getBufferSize()];    int available = in.read(buffer);    while (available > 0) {        out.write(buffer, 0, available);        available = in.read(buffer);    }    in.close();    out.flush();    out.close();} catch (IOException e) {    // handle exception}

关于java - 从 servlet 响应下载 Excel 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com