从URL C#保存zip文件

时间:2012-09-26 16:00:51

标签: c#

我正在尝试从不直接链接到该文件的网址中保存zip文件(例如http://website.com/DocMgm/DocMgmServlet?docNum=pce-0011&attachmentType=Archive)。当我在浏览器中使用链接时会显示下载文件选项,但我似乎无法以编程方式使用它。

当我尝试执行任一方法时,创建的zip文件会产生以下错误:

  

无法打开文件'C:\ temp \ PCE-0011.zip'作为存档

网址是假的。我不知道它与服务器上的文件之间的确切关系,我认为它可以作为重定向到文件的最新版本(通过文档控制系统)。

以下是我尝试过的两种常用方法:

        string ZipURL = "http://website.com/DocMgm/DocMgmServlet?docNum=pce-0011&attachmentType=Archive";
        string SaveURL = "c:\\temp\\PCE-0011.zip";
        WebClient webClient = new WebClient();
        webClient.DownloadFile(ZipURL, @SaveURL);

        string url = "http://website.com/DocMgm/DocMgmServlet?docNum=pce-0011&attachmentType=Archive";

        WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
        WebResponse objResponse = objRequest.GetResponse();
        byte[] buffer = new byte[32768];
        using (Stream input = objResponse.GetResponseStream())
        {
            using (FileStream output = new FileStream("C:\\temp\\PCE-0011.zip",
            FileMode.CreateNew))
            {
                int bytesRead;

                while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
                {
                    output.Write(buffer, 0, bytesRead);
                }
            }
        } 

0 个答案:

没有答案