木子屋 Dnawo's BLOG

检查Content-Type判断WebClient.DownloadFile下载的文件是否正确

👤 dnawo 📅 2016-09-27 👁 4997 👍 0 💬 0 🔄 来源:本站原创
使用System.Net.WebClient.DownloadFile下载文件非常简单方便:

WebClient client = new WebClient();
client.DownloadFile("http://www.mzwu.com/test.mp3", @"G:\test.mp3");

如果该文件不存在,服务器返回一个404错误页面,那么程序也会抛出错误:

图片

但如果该文件不存在,而服务器返回一个200“错误页面”,那么WebClient不会报错,它直接将文本文件保存到本地,我们知道,这是一个错误的文件,怎么解决这个问题呢?这时可以通过检查Content-Type判断下载的文件是否正确来解决这个问题:

WebClient client = new WebClient();
try
{
    client.DownloadFile("http://www.mzwu.com/test.mp3", @"G:\test.mp3");
    if (client.ResponseHeaders["Content-Type"].ToLower() != "audio/mpeg")
    {
        File.Delete(@"G:\test.mp3"); //文件类型不对,删除!
    }
}
catch { }

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 SoundPlayer实现逐个播放列表中的声音文件 下一篇 → C#创建隐藏文件夹示例