代码之家  ›  专栏  ›  技术社区  ›  Drake

如何在.NET中使用WebBrowser或WebClient检索PDF?

  •  0
  • Drake  · 技术社区  · 14 年前

    该文件是一个PDF文件,位于类似于:

    http://www.example.com/?s=doc20101022

    这些是使用IE注册调试的HTTP请求的头

    HTTP/1.1 200 OK
    Server: Apache/2.2.3 (CentOS)
    Vary: User-Agent,Accept-Encoding
    Expires: 0
    Cache-Control: must-revalidate, post-check=0, pre-check=0
    Pragma: public
    Last-Modified: Mon, 22 Nov 2010 22:45:12 GMT
    Cache-Control: private
    Content-Disposition: attachment; filename="doc20101022.pdf"
    Content-Transfer-Encoding: binary
    Content-Type: application/force-download
    Date: Tue, 23 Nov 2010 10:41:43 GMT
    X-Varnish: 2155914052
    Via: 1.1 varnish
    Content-Length: 6596997
    Proxy-Connection: Keep-Alive
    Connection: Keep-Alive
    Age: 2
    

    你能给我推荐一种使用WebClient、WebBrowser或其他VB.NET(Framework 4.0)组件获取和本地保存它的方法吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   ThiefMaster    14 年前

    使用 DownloadFile DownloadFileAsync WebClient :

    WebClient wc = new WebClient();
    wc.DownloadFileCompleted += new AsyncCompletedEventHandler(delegate(object source, AsyncCompletedEventArgs args) {
        // Do something when the file has been downloaded successfully.
    });
    wc.DownloadFileAsync(new Uri("http://www.example.com/?s=doc20101022"), @"C:\Yourfile.pdf");
    

    编辑:你用c标记了这个问题,只在主题中提到了.NET,所以我给你提供了一个c解决方案。如果你在VB.NET中需要它,它应该很容易移植。