下载的文件不完整/损坏

时间:2016-05-01 22:17:35

标签: c# .net download httpwebrequest

我已经制作了这个小工具,它通过一个图像链接列表并将它们下载到硬盘驱动器,然而,有些图片不完整(Check this picture)并且他们甚至没有提出例外。下面的代码显示了我在我的工具中使用的下载方法。

private void Download(string url)
{
    try
    {
        HttpWebRequest Request = WebRequest.Create(url) as HttpWebRequest;
        Request.Method = WebRequestMethods.Http.Get;
        Request.Timeout = 60 * 1000;
        FileInfo ImageFile = new FileInfo(Path.Combine(BaseDirectory, Path.GetFileName(url)));
        if (!ImageFile.Exists)
        {
            using (HttpWebResponse Response = Request.GetResponse() as HttpWebResponse)
            {
                if (Response.StatusCode.Equals(HttpStatusCode.OK))
                {
                    using (FileStream FStream = new FileStream(ImageFile.FullName, FileMode.Create, FileAccess.Write, FileShare.None, 4096))
                        Response.GetResponseStream().CopyTo(FStream, 4096);
                }
            }
        }
    }
    catch (Exception e)
    {
        Console.WriteLine("Error Downloading: {0}\r\nMessage: {1}", url, e.Message);
    }
}

我无法弄清楚问题是在服务器端还是我的代码有问题,你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

您在阅读完数据后是否尝试过调用Flush()?看起来流的最后一部分没有被写出来。