使用“另存为”下载文件

3

我需要编写一个过程,在我的vb.net Web应用程序中将HTML文件下载到本地。我目前正在使用webClient.DownloadFile

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

有没有一种内置的方法可以使用“另存为”窗口来完成,以便用户可以选择他们想要保存文件的位置?还是我需要自己编写代码实现?

3个回答

5
您可以使用

标签


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

这是正确的,但请注意,不同的浏览器对于非 ASCII 字符或空格使用不同的编码方式。 - MJB

1

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

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

仅仅是为了举例。这里我们可以使用HTML或JPEG。它可以是任何东西。不是吗? - Pankaj

0

尝试下面的代码

Response.ContentType = "report/rpt";

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

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

Response.End();

不明白这有什么帮助,因为已经提供的内容中并没有提到Crystal报表。 - Justin Wignall
这只是一个例子。我们可以使用HTML或JPEG。它可以是任何东西。不是吗? - Pankaj
+1,因为这是一个有效的答案。您可以使用TransmitFile和以下代码通过SaveAs提供文件。 - TheBoyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接