日期:2014-05-17  浏览次数:20457 次

通过WebRequest下载的Gif图片,为什么是一帧?
代码如下:
C# code

   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgModel.SourceUrl);
            request.Referer = Request.UrlReferrer.ToString();
            request.UserAgent = Request.UserAgent;
            WebResponse response = request.GetResponse();
            Stream imgStream = response.GetResponseStream();

            if (imgStream != null)
            {
                Image img = Image.FromStream(imgStream, true, true);
                string extension = Common.GetImageFormat(img.RawFormat);
                //Bitmap bitmap = new Bitmap(img);//这里用bitmap方式保存也不行
                //bitmap.Save(Request.MapPath("/Images/" + Guid.NewGuid().ToString()) + extension, img.RawFormat);
                img.Save(Request.MapPath("/Images/" + Guid.NewGuid().ToString()) + extension, img.RawFormat);
                WriteAsCrossDomain(Request["jsoncallback"], string.Format("'宽:{0},高:{1}'", img.Width, img.Height));
                img.Dispose();
                //bitmap.Dispose();
            }



------解决方案--------------------
WebClient 的头部也是可以自定义的 
WebClient 只是封装了webrequest 而已

WebClient.Header.Add("Referer","http://www.370b.com")
------解决方案--------------------
以上代码只是例子啊。你就不能改一下吗》?你可以通过resposne.ContentType得到返回的结果类型啊。
另外,你给的例子是403错误,无法给你测试