显示“另存为”窗口
Posted
技术标签:
【中文标题】显示“另存为”窗口【英文标题】:show "Save as" window 【发布时间】:2011-01-05 16:04:41 【问题描述】:如何在 asp.net 和 C# 中显示另存为窗口...
这类似于为上传而打开的窗口,但该窗口是打开的文件...
我不想只保存一个文件...比如
Response.AddHeader("Content-Disposition", "attachment; filename=" + myfile.Name);
我可以使它成为 ung ajax...请帮助...示例或建议..
谢谢
【问题讨论】:
“不想只保存一个文件”是什么意思?您想在一个响应中发送多个文件吗? 这里有些混乱,请帮助我们。有些是我的错。这是你想要的吗:1)用户点击一个链接(或一个按钮),期望收到几个文件。 2) 出现几个“另存为”窗口,每个文件一个。还是你想要别的? 【参考方案1】:据我所知,您无法在浏览器内部使用 javascript 与文件系统进行交互。如果可以的话,我想这将是一个相当大的安全漏洞。我能建议的最好方法是将您的文件打包成一个 zip 文件,然后将其作为响应发送,并将内容处置设置为附件,然后让浏览器为您处理它。
【讨论】:
这并没有回答他的问题——他想要一个页面下载多个文件,提示每个文件。如果您认为不可能,请直说。【参考方案2】:在您的页面中:
<iframe src="getFile.aspx?id=1"/>
<iframe src="getFile.aspx?id=2/>
然后在getFile.aspx里面
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
Response.BinaryWrite(fileContents);
(注意:我自己从未尝试过这个......)
【讨论】:
这将打开多个“另存为”对话框,每个文件一个,这是他试图避免的——请参阅他对问题评论的回复。以上是关于显示“另存为”窗口的主要内容,如果未能解决你的问题,请参考以下文章