不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
检查Content-Type判断WebClient.DownloadFile下载的文件是否正确
编辑:dnawo 日期:2016-09-27
使用System.Net.WebClient.DownloadFile下载文件非常简单方便:
如果该文件不存在,服务器返回一个404错误页面,那么程序也会抛出错误:

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

WebClient client = new WebClient();
client.DownloadFile("http://www.mzwu.com/test.mp3", @"G:\test.mp3");
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 { }
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 | 引用: 0 | 查看次数: 4495
发表评论
请登录后再发表评论!