C# 程序在 HTTP 请求后停止

本文关键字:请求 HTTP 程序 | 更新日期: 2023-09-27 18:37:21

我这里的代码可以很好地获取内容长度,并告诉我文件有多大,然后它适用于 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;
            }

C# 程序在 HTTP 请求后停止

只是猜测,但也许在尝试打开另一个连接之前调用resp.Close();会有所帮助?

在继续

WebClient之前HttpWebResponse上调用Dispose()

它应该有效。