WebRequest request = WebRequest.Create(url);
            WebResponse reponse = request.GetResponse();
            long length = reponse.ContentLength;
            if (length < 10000)
            {
                reponse.Close();
                reponse.Dispose();
                return;
            }
            Stream reader = reponse.GetResponseStream();
            string pathname = path + (id + i++).ToString();
            pathname += post;
            FileStream write = new FileStream(pathname,FileMode.OpenOrCreate,FileAccess.ReadWrite);
            byte[] buff = new byte[2048];
            int c = 0;
            while ((c = reader.Read(buff, 0, buff.Length)) > 0)
                write.Write(buff,0,c);
            write.Close();
            write.Dispose();
            reader.Close();
            reader.Dispose();
            reponse.Close();
            reponse.Dispose();
以上是代码,为什么下载大于30K的图片时下载下来的图片为空白?

解决方案 »

  1.   

     byte[] buff = new byte[2048]; 这里太小?
      

  2.   

    webclient 有个 DownloadFile 
      

  3.   

    reponse.ContentLength有的服务端是没有这个值的哦 亲 不信你看youku
      

  4.   

    你可以把url的值直接复制到ie浏览器的地址栏,看看图片。
      

  5.   

     if (length < 10000)
                {
                    reponse.Close();
                    reponse.Dispose();
                    return;
                }
    这不是超过9.多k就不保存的意思吗 ,不空白 难道还要上色?
      

  6.   


    lz用来说事儿的那个图片大于30k。