gpt4 book ai didi

java - 下载后留言

转载 作者:行者123 更新时间:2023-11-30 11:38:38 25 4
gpt4 key购买 nike

我有一个 Servlet 可以生成并返回一个 zip 文件像这样

 response.setHeader("Pragma","Public");
response.setHeader("Cache-Control","must-revalidate,post-check=0,pre-check=0");

response.setContentType("application/octet-stream");

response.setHeader("Expires", "0");
response.setHeader("Content-Transfer-Encoding", "binary");
if(file.getName().contains("–")){
response.setHeader("Content-Disposition", "inline; filename=\"file.zip\"");
}

OutputStream os = response.getOutputStream();
ZipOutputStream zos = new ZipOutputStream(os);
for (File f : files) {
//add files, it's working...
}
bis.close();
fis.close();
zos.closeEntry();
}
zos.flush();
zos.close();
os.flush();
os.close();

目前要下载我正在使用 iframe,所以我设置了 src 属性以开始下载。调用此函数时加载下载框架

function loadIDownloadFrame(url) {
document.getElementById("idownloadFrame").src=url;
}

但是现在,我需要在不离开当前页面的情况下返回 zip 文件后显示一条消息。我需要知道 servlet 是否返回了 zip 文件。

我尝试使用“window.frames['idownloadFrame'].document.readyState”获取 iframe 状态,但状态始终为“完成”。

谁有解决办法?

最佳答案

我认为您可以直接引用映射 Servlet 的下载链接(它返回可下载的二进制文件)。如果您在映射的 servlet 中设置适当的 header 以返回二进制文件,它不会更改页面,从代码片段看来您已经在这样做了。为什么必须在不同的 iframe 中下载文件?你不一定需要那个。

您必须在哪里显示消息?比如 JavaScript 警报之类的?

关于java - 下载后留言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565371/

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