【问题标题】: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")

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

【问题讨论】:

    标签: asp.net vb.net save-as webclient


    【解决方案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 提供文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多