ASP网站制作之ASP实例:一个复杂的ASP无组件上传类
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。复杂的ASP无组件上传类,收回来让人人看看。能够做做实行!以下为援用的内容:
<%@language="javascript"%>
<%
varself=Request.serverVariables("SCRIPT_NAME");
if(Request.serverVariables("REQUEST_METHOD")=="POST")
{
varoo=newuploadFile();
oo.path="myFile";//寄存路径,为空暗示以后路径,默许为uploadFile
oo.named="file";//定名体例,date暗示用日期来定名,file暗示用文件名自己,默许为file
oo.ext="all";//同意上传的扩大名,all暗示都同意,默许为all
oo.over=true;//当存在不异文件名时是不是掩盖,默许为false
oo.size=1*1024*1024;//最年夜字节数限定,默许为1G
oo.upload();
Response.write(<scripttype="text/javascript">location.replace("+self+")</script>);
}
//ASP无组件上传类
functionuploadFile()
{
varbLen=Request.totalBytes;
varbText=Request.binaryRead(bLen);
varoo=Server.createObject("ADODB.Stream");
oo.mode=3;
this.path="uploadFile";
this.named="file";
this.ext="all";
this.over=false;
this.size=1*1024*1024*1024;//1GB
//文件上传
this.upload=function()
{
varo=this.getInfo();
if(o.size>this.size)
{
alert("文件过年夜,不克不及上传!");
return;
}
varf=this.getFileName();
varext=f.replace(/^.+./,"");
if(this.ext!="all"&&!newRegExp(this.ext.replace(/,/g,"|"),"ig").test(ext))
{
alert("今朝暂不撑持扩大名为"+ext+"的文件上传!");
return;
}
if(this.named=="date")
{
f=newDate().toLocaleString().replace(/D/g,"")+"."+ext;
}
oo.open();
oo.type=1;
oo.write(o.bin);
this.path=this.path.replace(/[^/]$/,"$&/");
varfso=Server.createObject("Scripting.FileSystemObject");
if(this.path!=""&&!fso.folderExists(Server.mapPath(this.path)))
{
fso.createFolder(Server.mapPath(this.path));
}
try
{
oo.saveToFile(Server.mapPath(this.path+f),this.over?2:1);
alert("上传乐成!");
}
catch(e)
{
alert("对不起,此文件已存在!");
}
oo.close();
delete(oo);
}
//猎取二进制和文件字节数
this.getInfo=function()
{
oo.open();
oo.type=1;
oo.write(bText);
oo.position=0;
oo.type=2;
oo.charset="unicode";
vargbCode=escape(oo.readText()).replace(/%u(..)(..)/g,"%$2%$1");
varsPos=gbCode.indexOf("%0D%0A%0D%0A")+12;
varsLength=bLen-(gbCode.substring(0,gbCode.indexOf("%0D%0A")).length/3)-sPos/3-6;
oo.close();
oo.open();
oo.type=1;
oo.write(bText);
oo.position=sPos/3;
varbFile=oo.read(sLength);
oo.close();
return{bin:bFile,size:sLength};
}
//猎取文件名
this.getFileName=function()
{
oo.open();
oo.type=2;
oo.writeText(bText);
oo.position=0;
oo.charset="gb2312";
varfileName=oo.readText().match(/filename="(.+?)"/i).split("").slice(-1);
oo.close();
returnfileName;
}
functionalert(msg)
{
Response.write(<scripttype="text/javascript">alert("+msg+");</script>);
}
}
%>
<html>
<head>
<title>ASP无组件上传类</title>
<metahttp-equiv="content-Type"content="text/html;charset=gb2312">
</head>
<body>
<formaction="<%=self%>"method="post"enctype="multipart/form-data"onSubmit="return(this.upFile.value!=);">
<inputtype="file"name="upFile"/>
<inputtype="submit"value="上传文件"/>
</form>
</body>
</html>
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
页:
[1]