/// <summary>
/// 获取文件长度,可为本地或网络
/// </summary>
/// <param name="url"></param>
protected long GetFileLength(string url)
{
if (string.IsNullOrEmpty(url)) return 0;
long length = 0;
var request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
if (request is HttpWebRequest)
{
var wr = (HttpWebRequest)request;
wr.MaximumAutomaticRedirections = 5;
wr.MaximumResponseHeadersLength = 10;
var wre = wr.GetResponse();
length = wre.ContentLength;
wre.Close();
}
else if (request is FileWebRequest)
{
var fr = (FileWebRequest)request;
var fre = fr.GetResponse();
length = fre.ContentLength;
fre.Close();
}
else
{
length = 0;
}
return length;
}