0

ファイルに直接リンクしていない URL ( http://website.com/DocMgm/DocMgmServlet?docNum=pce-0011&attachmentType=Archiveなど) から zip ファイルを保存しようとしています。ブラウザでリンクを使用すると、ファイルのダウンロード オプションが表示されますが、プログラムで動作させることができないようです。

いずれかの方法を実行しようとすると、作成された zip ファイルで次のエラーが発生します。

ファイル 'C:\temp\PCE-0011.zip' をアーカイブとして開けません

URLは偽物です。それとサーバー上のファイルとの正確な関係はわかりませんが、ファイルの最新バージョンへのリダイレクトとして機能すると思います(ドキュメント管理システムを介しています)。

私が試した2つの一般的な方法は次のとおりです。

        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