[英]Download file directly, not from window.open(url)
我目前在ASP.NET应用程序中遇到一些会话问题。 主应用程序将打开一个ASP.NET对话框,其中包含一个PDF文件的链接。 通过使用window.open('myurl/file.pdf');
可“下载”此文件window.open('myurl/file.pdf');
这会导致打开一个新窗口,但由于未传输会话对象,因此无法下载文件(请注意,解决方案要复杂一些,因此尝试将会话保留在新窗口中是无效的,因为它已嵌入在C#WebBrowser框架中)。
是否有可能直接从链接而不是通过window.open()下载文件?
如果文件存在于文件系统中,则可以链接到它。 我知道有时候这会根据用户的设置在浏览器中打开文件。
如果您不想通过打开窗口来执行此操作,并且文件是动态生成的:
Button
或LinkButton
在Button / LinkButton的Click事件中使用Response.AddHeader
Response.AddHeader("content-disposition", "attachment;filename={filename.extension}") Response.ContentType = "application/{MIME type here}"
这应该提示用户该怎么做...
只需调用window.dialogArguments.MyFunction(url)即可解决此问题,该窗口将调用父窗口MyFunction(url)。 在该窗口中,我使用了window.external.MyFunctionToDotNet(url),它再次从WebClient中的WebBrowser中获取cookie并下载了文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.