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)
暂无评论。