下边是我下载远程图象的代码,可是在WinForm下,下载的图像总是空的(图像的字节数为0),但同样的代码放在WebForm下就没有问题,请问这是怎么回事!
/// <summary>
        /// 从网上下载一张图像
        /// </summary>
        /// <param name="sUrl"></param>
        /// <returns></returns>
        public System.Drawing.Image DownloadImage(string sUrl)
        {
            System.Drawing.Image image = null;
            using (MemoryStream memoryStream = GetTeledata(sUrl.Trim(), 20000))
            {
                if (memoryStream != null)
                {
                    try
                    {                        
                        image = System.Drawing.Image.FromStream(memoryStream);
                    }
                    catch
                    {
                        if (image != null)
                        {
                            image.Dispose();
                            image = null;
                        }
                    }
                }
            }
            return image;
        }
        /// <summary>
        /// 获取远程数据并以流的方式返回
        /// </summary>
        /// <param name="url">获取地址</param>
        /// <param name="timeout">时限</param>
        /// <returns>返回获取的数据流</returns>
        public MemoryStream GetTeledata(string url, int timeout)
        {
            Stream stream = null;
            MemoryStream memoryStream = null;
            try
            {
                HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(@url.Trim());
                webRequest.Timeout = timeout;
                webRequest.Credentials = CredentialCache.DefaultCredentials;                webRequest.Method = "GET";
                webRequest.AllowAutoRedirect = false;
                webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
                webRequest.Accept = @"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
                stream = webRequest.GetResponse().GetResponseStream();
                memoryStream = new MemoryStream();
                byte[] bs = new byte[256];
                for (int j = stream.Read(bs, 0, (int)bs.Length); j > 0; j = stream.Read(bs, 0, (int)bs.Length))
                {
                    memoryStream.Write(bs, 0, j);
                }
                stream.Close();
                memoryStream.Position = (long)0;
            }
            catch
            {
                if (memoryStream != null)
                {
                    memoryStream.Close();
                    memoryStream = null;
                }
            }
            finally
            {
                if (stream != null)
                {
                    stream.Close();
                    stream = null;
                }
            }            return memoryStream;
        }