如何使用 Response 类创建要下载的文件,然后与客户端交互
How to create file for download using Response class and then interact with the client?
我有一个按钮,它的OnClientClick
事件调用Generate((。
function Generate() {
window.open('GenerateKey.aspx', '_newtab', 'titlebar = no', false);
PageMethods.SendKey(SendKeyCallback, SendKeyCallbackError);
}
回调函数隐藏加载 gif 并提醒状态(成功/失败(
生成密钥.aspx创建一个文件并打开下载弹出窗口。
这是page_load代码:
string keyFileName = orgName + "-" + timeStamp + ".ckey";
fs = new FileStream(Server.MapPath("~/License/Generate/" + keyFileName), FileMode.Create, FileAccess.ReadWrite);
sw = new StreamWriter(fs);
sw.Write(generatedKey);
sw.Flush();
fs.Close();
Response.ContentType = "text/xml";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + keyFileName);
Response.TransmitFile(Server.MapPath("~/License/Generate/" + keyFileName));
Response.End();
代码工作正常,但我的问题是下载弹出屏幕后新选项卡被关闭(我想这是因为响应对象而发生的(,它看起来像一个错误。
我弹出一个新的空白选项卡 1 秒钟,然后它关闭了。
有人知道如何让它看起来更好吗?我不能在同一页面上执行此操作,因为在文件生成后,我不再与客户端连接(这就是我使用 window.open 的原因(。
您要求浏览器在另一个窗口中打开文本文件。 浏览器可能会将数据解释为不是HTML,将文件存储到磁盘,然后关闭窗口 - 这对于浏览器来说是相当标准的。 如果不需要,则需要将HTML数据发送到浏览器或将浏览器配置为不自动将该类型的数据保存到磁盘。
相关文章:
- Javascript运行php文件,然后下载文件
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 多个下载链接到一个zip文件,然后再下载javascript
- 文件上传:检查文件格式,然后调用srvlet
- 先在Angular中加载配置文件,然后再加载其他文件
- 加载文件,然后调用回调函数
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 如何通过URL下载文件,然后获取其名称
- 更改音频速度,然后另存为新文件
- 通过 AJAX 调用 PHP 文件,将 $_GET 变量传递到 MySQL 查询中,然后回显到响应中
- 将图像输出到浏览器,然后再将其保存到文件夹
- 需要一个文件,然后使用一个函数,而不显式地将所需文件用作命名空间
- 如何将javascript文件插入到iframe中,然后调用插入的javascript中的函数
- 使用load()加载外部文件,然后使用fancybox插件进行修改并显示
- 如何使用 Response 类创建要下载的文件,然后与客户端交互
- JQuery启动文件下载,然后运行一个函数
- php检测浏览器窗口宽度,然后包括适当的php文件
- 方法来查看jQuery文件是否已完全加载,然后执行与其相关的函数
- HTML5游戏-工作在IE, Chrome.在FireFox中失败…直到我导航到一个.mp3文件…然后它才工作
- 如何播放随机的声音没有重复?播放完所有文件然后再次开始新的声音循环