我目前在ASP.NET应用程序中遇到了一些会话问题。主应用程序打开一个ASP.NET对话框,其中包含指向PDF文件的链接。此文件已下载'使用window.open('myurl/file.pdf');
这导致新窗口打开,但由于会话对象未传输而无法下载文件(请记住解决方案有点复杂,因此尝试将会话保持在新窗口中将无法正常工作因为它嵌入在C#WebBrowser框架中。)
是否有可能直接从链接下载文件,而不是通过window.open()?
答案 0 :(得分:1)
如果文件系统上存在该文件,您只需链接即可。我知道这有时会在浏览器中打开文件,具体取决于用户的设置。
如果您不想通过打开窗口来执行此操作,则会动态生成文件:
Button
或LinkButton
在Button / LinkButton的Click事件中使用Response.AddHeader
Response.AddHeader("content-disposition", "attachment;filename={filename.extension}")
Response.ContentType = "application/{MIME type here}"
这应该提示用户做什么......
答案 1 :(得分:0)
这通过简单地调用window.dialogArguments.MyFunction(url)来解决,它调用父窗口MyFunction(url)。在那个窗口中,我使用了window.external.MyFunctionToDotNet(url),它再次从WebClient中获取了我的WebBrowser中的cookie并下载了该文件。