|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;下载///<summary>
///下载文件
///</summary>
publicclassBDDownLoadFile
{
privatestringUrl;//要下载的文件URL地点
privatestringSavePath;//要保留的文件的目次
privatestringerrMsg;//保留毛病信息
privatestringRegValue=@"http://([w-]+.)+[w-]+(/[w-./?%&=]*)?";
privatestringSaveFile;//天生的文件
publicBDDownLoadFile(stringurl,stringpath)
{
Url=url;
SavePath=path;
this.SaveFile=GetFileName();
}
///<summary>
///前往毛病信息
///</summary>
publicstringErrorMessage
{
get
{
returnthis.errMsg;
}
}
publicstringGetSaveFile
{
get
{
returnthis.SaveFile;
}
}
publicboolDownLoadFile()
{
boolresult=true;
if(!CheckUrl(this.Url))
{
this.errMsg="网址分歧法!";
returnfalse;
}
WebClientobjWC=newWebClient();
objWC.Credentials=CredentialCache.DefaultCredentials;
try
{
byte[]tmpData=objWC.DownloadData(this.Url);
if(tmpData.Length>0)
{
FileStreamobjFS=newFileStream(this.SaveFile,FileMode.Create);
objFS.Write(tmpData,0,(int)tmpData.Length);//向文件写进数据
objFS.Close();
this.errMsg="无数据!";
}
else
{
result=false;
this.errMsg="没有吸收就任何数据!";
}
}
catch(System.Net.WebExceptione)
{
this.errMsg+="<li>下载数据时产生毛病!"+e.Message;
returnfalse;
}
catch(System.UriFormatExceptione)
{
this.errMsg+="<li>会见的网址有效!"+e.Message;
returnfalse;
}
catch(Exceptione)
{
this.errMsg="毛病信息:<li>."+e.Message;
result=false;
}
finally
{
objWC.Dispose();
}
returnresult;
}
///<summary>
///反省网址是不是正当
///</summary>
///<paramname="chkUrl">要反省的网址</param>
///<returns></returns>
privateboolCheckUrl(stringchkUrl)
{
Regexreg=newRegex(RegValue);
Matchmatch=reg.Match(chkUrl);
returnmatch.Success;
}
///<summary>
///获得网址是不是有文件,假如有文件,则处置,若没有,则前往.html
///</summary>
///<paramname="chkUrl"></param>
///<returns></returns>
privatestringGetFileType(stringchkUrl)
{
if(chkUrl.LastIndexOf("/")==(chkUrl.Length-1))//没有详细文件
return"html";
intj=0;
for(inti=0;i<chkUrl.Length;i++)
{
if(chkUrl.IndexOf("/",i)>-1)
{
i=chkUrl.IndexOf("/",i);
j++;
}
}
if(j<3)
return"html";
//获得"/"后的字符,然后得出文件范例
stringend=chkUrl.Substring(chkUrl.LastIndexOf(".")+1);
switch(end)
{
case"asp":
case"aspx":
case"jsp":
case"php":
return"html";
default:
returnend;
}
}
privatestringGetFileName()
{
stringfileName=this.SavePath+""+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+System.DateTime.Now.Day.ToString()+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString()+Common.MakeRandom(4).ToString()+"."+GetFileType(this.Url);
for(;File.Exists(fileName);)
{
fileName=this.SavePath+""+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+System.DateTime.Now.Day.ToString()+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString()+Common.MakeRandom(4).ToString()+""+GetFileType(this.Url);
}
returnfileName;
}
}//BDDownLoadFileend
</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 |
|