首先,您可以从处理程序 .ashx
中创建该文件。
假设您要从 JavaScript 传递一些参数,例如 download.ashx?p1=8827&p2=8831
,以知道要创建什么文件。
然后您可以在 JavaScript 中使用重定向来执行操作:
window.location = "download.ashx?p1=8827&p2=8831";
或者你可以使用window.open
来做同样的事情。
window.open("download.ashx?p1=8827&p2=8831");
然后你的文件就会开始下载。
只需确保在处理程序中设置了附件的头部和正确的内容类型,例如:
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment; filename=" + SaveAsThisFileName);
简单明了,已经经过测试并且可行。
你可能也对这个答案感兴趣:如何处理错误。
window.location
没有弹出任何内容,而是开始下载。 - Aristos