gpt4 book ai didi

javascript - "Save as"- IE中的按钮,在客户端保存文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:15 25 4
gpt4 key购买 nike

有没有什么方法可以制作一个按钮来生成文本/xml 文件、将内容类型设置为应用程序下载、在客户端添加附件等?我想要的是我页面上的一个“下载”按钮,用于保存一个 xml 文件。这就是我在服务器端做同样事情的方式:

response.StatusCode = 200;
response.ContentEncoding = Encoding.UTF32;
response.AddHeader("content-disposition", "attachment; filename=" + fileName);
response.AddHeader("Content-Transfer-Encoding", "binary");
response.AddHeader("Content-Length", response.ContentEncoding.GetByteCount(xmlString).ToString());
response.ContentType = "application-download";
response.Write(xmlString);

最佳答案

如果您的意思是在 jQuery/Javascript 中创建文件并能够从浏览器将其保存到磁盘,答案显然是否定的。 Javascript 不允许(出于安全原因)保存到磁盘,也不允许浏览器为本地创建的内容抛出“另存为...”弹出窗口。您的问题有更简单的解决方案。在您的示例中,您正在创建 xml 文件并将其作为附件从服务器发送,为什么不制作一个按钮来下载服务器创建的文件?你不能通过普通的 ajax 来完成,因为它不能在浏览器中触发下载,但你可以使用旧的“iframe 下载技巧”在同一页面中启动下载。

function download(url_to_your_creating_file_servlet){
iframe = document.createElement('iframe');
iframe.style.visibility = 'hidden';
document.body.appendChild(iframe);
iframe.src = url_to_your_creating_file_servlet;
}

或者如果你不介意打开另一个窗口/标签(有点难看)这也有效:

<a href="url_to_your_creating_file_servlet" target="blank"> Download </a>

关于javascript - "Save as"- IE中的按钮,在客户端保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801108/

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