用“另存为”下载文件

Posted

技术标签:

【中文标题】用“另存为”下载文件【英文标题】:downloadFile with "save as" 【发布时间】:2011-05-13 10:10:08 【问题描述】:

我需要编写一个流程来在我的 vb.net 网络应用程序中本地下载一个 html 文件。我目前正在使用webClient.DownloadFile

Dim myWebClient As New System.Net.WebClient
myWebClient.DownloadFile("http://archive.ncsa.illinois.edu/primer.html", _
                        "C:\test.html")

是否有一种内置方法可以使用“另存为”窗口来执行此操作,以便用户可以选择他们希望将文件保存到的位置?还是我需要自己写?

【问题讨论】:

【参考方案1】:

你可以使用

Response.AddHeader("Content-Disposition", "attachment;filename=testfile_file.html");
Response.Write or Response.WriteFile

【讨论】:

这是真的,但请注意不同的浏览器对非 ascii 字符或空格使用不同的编码【参考方案2】:

虽然我意识到这不是您问题的答案(请参阅对 Thomas 回答的评论),但有时保持简单是一个好方法

Please right-click this link and save the file
<a href=""http://archive.ncsa.illinois.edu/primer.html">HTML Primer</a>

【讨论】:

这只是一个例子。在这里,我们可以使用 html 或 jpeg。它可以是任何东西。不是吗?【参考方案3】:

试试下面的代码

Response.ContentType = "report/rpt";

Response.AppendHeader("Content-Disposition", "attachment; filename=CrystalReport1.rpt");

Response.TransmitFile(Server.MapPath("CrystalReport1.rpt"));

Response.End();

【讨论】:

看不到这对尚未提供的任何方式有何帮助。水晶报表在任何地方都没有提到... 这只是一个例子。在这里,我们可以使用 html 或 jpeg。它可以是任何东西。不是吗? +1 因为这是一个有效的答案。您可以使用 TransmitFile 通过此代码通过 SaveAs 提供文件。

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

Chrome谷歌浏览器不能右键另存为下载东西了

使用“另存为”提示强制下载文件

cognos 不能另存为excel

JAVA文件下载,页面显示另存为效果

github上如何下载单个文件(文件点开-->Raw右键-->目标另存为)

有啥方法可以“模拟”右键单击另存为命令或使用 JavaScript 在浏览器中强制下载文件?