0

ここでの私のコードは、コンテンツの長さを取得するために正常に機能し、ファイルの大きさを教えてくれます。その後、ifステートメントで機能します。ifステートメントの後の何らかの理由で、MBが5未満の場合、ファイルはダウンロードされず、プログラム全体が停止します。HTTPリクエストの後、停止するようなものです。ですから、それが私のコードのせいなのか、それとも他の何かなのか、これがばかげた質問なのかどうかはわかりません。お詫びします。

            byte[] test;
            int size;
            long MB = 0;
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Path);
            req.Method = "HEAD";
            HttpWebResponse resp = (HttpWebResponse)(req.GetResponse());
            long len = resp.ContentLength;
            MB = len / 1048576;

            if (MB > 5)
            {
                Console.WriteLine("File to big!");
            }
            else
            {
                var webClient = new WebClient();
                MemoryStream ms = new MemoryStream();
                byte[] imageBytes = webClient.DownloadData(Path);
                test = imageBytes;
                size = test.Length;
            }
4

2 に答える 2

1

推測するだけですが、resp.Close();別の接続を開こうとする前に電話をかけると役立つでしょうか?

于 2012-06-16T16:47:08.917 に答える
0

続行する前にDispose()呼び出してください。HttpWebResponseWebClient

動作するはずです。

于 2012-06-16T16:55:17.230 に答える