0

我正在尝试从不直接链接到文件的 URL 保存 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);
                }
            }
        } 
4

0 回答 0