显示“另存为”窗口

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);

(注意:我自己从未尝试过这个......)

【讨论】:

这将打开多个“另存为”对话框,每个文件一个,这是他试图避免的——请参阅他对问题评论的回复。

以上是关于显示“另存为”窗口的主要内容,如果未能解决你的问题,请参考以下文章

“图片另存为”时弹出的小窗口最近变成了大窗口(几乎全屏),怎么调回小窗口去

如何将word转成html格式

教你区分EDIUS字幕窗口中保存和自动另存为

怎么把Word转换为网页html格式

将pb数据窗口的内容另存为Excel格式?

如何在不强制“另存为”对话框的情况下设置响应文件名