ASP教程之上传文件
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件上传/*Descript:上传文件
Author:Blue.Dream
Date:2004-09-2122:21
*/
namespaceBDStudio.Common
{
usingSystem;
usingSystem.IO;
usingSystem.Web;
///<summary>
///上传单个文件
///</summary>
publicclassUpLoadFile
{
privatestring[]AllowFileType;//所同意的文件范例
privatedoubleFileLength;//所同意的文件巨细(KB)
privatestringSavePath;//文件的存储路径
privatestringSaveFile;//上传后的文件名
privatestringError;//存储毛病信息
privatestringFileExtesion;//上传文件的扩大名
///<summary>
///机关函数
///</summary>
///<paramname="allFileType">同意的文件范例,多个以","分隔</param>
///<paramname="fileLength">文件巨细</param>
///<paramname="savePath">保留路径</param>
publicUpLoadFile(stringallFileType,doublefileLength,stringsavePath)
{
char[]sp={,};
AllowFileType=allFileType.Split(sp);
FileLength=fileLength;
SavePath=savePath;
}
///<summary>
///前往天生的文件名
///</summary>
publicstringFileName
{
get
{
returnSaveFile;
}
}
///<summary>
///前往堕落信息
///</summary>
publicstringErrorMessage
{
get
{
returnError;
}
}
///<summary>
///依据SavePath,天生文件名
///</summary>
///<returns></returns>
privatestringMakeFileName(stringfileType)
{
stringfile=this.SavePath+""+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+System.DateTime.Now.Day.ToString()+System.DateTime.Now.Hour.ToString()+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString()+this.FileExtesion;
for(;File.Exists(file);)
{
file=this.SavePath+""+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+System.DateTime.Now.Day.ToString()+System.DateTime.Now.Hour.ToString()+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString()+this.FileExtesion;
}
returnfile;
}
///<summary>
///反省文件范例
///</summary>
///<paramname="fileEx">MIME内容</param>
///<returns></returns>
privateboolCheckFileExt(stringfileEx)
{
boolresult=false;
for(inti=0;i<this.AllowFileType.Length;i++)
{
if(fileEx.IndexOf(this.AllowFileType.ToLower())>-1)
{
result=true;
break;
}
}
returnresult;
}
publicboolUpLoad()
{
boolresult=true;
System.Web.HttpFileCollectionobjFiles=System.Web.HttpContext.Current.Request.Files;
System.Web.HttpPostedFileobjFile=objFiles;
try
{
//检察文件长度
if(objFile.ContentLength>(this.FileLength))
{
this.Error="文件巨细超越范同意的局限!";
returnfalse;
}
stringfileName=Path.GetFileName(objFile.FileName);
this.FileExtesion=Path.GetExtension(fileName);
if(!CheckFileExt(this.FileExtesion.ToLower()))
{
this.Error="文件范例"+this.FileExtesion+"不同意!";
returnfalse;
}
//获得要保留的文件名
stringUpFile=this.MakeFileName(this.FileExtesion);
//保留文件
objFile.SaveAs(UpFile);
//前往文件名
this.SaveFile=Path.GetFileName(UpFile);
}
catch(Exceptione)
{
result=false;
this.Error=e.Message;
}
returnresult;
}
}
}
</p>SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
页:
[1]