ASP实例解析:一个简单的ASP无组件上传类

    作者:课课家更新于: 2015-11-12 00:03:54

    大神带你学编程,欢迎选课

    小编等着你们的到来,共同探讨关于编辑语言的知识,我想大家会满载而归的!编程语言有哪些

    简单的ASP无组件上传类,发出来让大家看看。可以做做实验!

    以下为引用的内容:
    <%@ language="Javascript"%>
    <%
    var self = Request.serverVaRIAbles("SCRIPT_NAME");
    if (Request.serverVariables("REQUEST_METHOD")=="POST")
    {
            var oo = new uploadFile();
            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(' ');
    }
    //ASP无组件上传类
    function uploadFile()
    {
        var bLen  = Request.totalBytes;
        var bText = Request.binaryRead(bLen);
        var oo = 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 ()
            {
                    var o = this.getInfo();
                    if (o.size>this.size)
                    {
                            alert("文件过大,不能上传!");
                            return;               
                    }
                    var f = this.getFileName();
                    var ext = f.replace(/^.+\\\\./,"");
                    if (this.ext!="all"&&!new RegExp(this.ext.replace(/,/g,"|"),"ig").test(ext))
                    {
                            alert("目前暂不支持扩展名为 "+ext+" 的文件上传!");
                            return;
                    }
                    if (this.named=="date")
                    {
                            f = new Date().toLocaleString().replace(/\\\\D/g,"") + "." + ext;
                    }
                    oo.open();
                    oo.type = 1;
                    oo.write(o.bin);
                    this.path = this.path.replace(/[^\\\\/\\\\\\\\]$/,"$&/");
                    var fso = 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";
                    var gbCode=escape(oo.readText()).replace(/%u(..)(..)/g,"%$2%$1");
                    var sPos=gbCode.indexOf("%0D%0A%0D%0A")+12;
                    var sLength=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;
                    var bFile=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";
                    var fileName = oo.readText().match(/filename=\\\\"(.+?)\\\\"/i)[1].split("\\\\\\\\").slice(-1)[0];
                    oo.close();
                    return fileName;
            }
           
            function alert(msg)
            {
                    Response.write(' ');
            }
    }
    %>
     

     ASP无组件上传类
     
     

     

       
       
     

     

    编程语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。[1]
    编程语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成。[1]
    在过去的几十年间,大量的编程语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而且有许多语言对新手来说太难学;还有,不同程序之间的运行成本(runtime cost)各不相同。[1]
    有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP专门用来显示网页;Perl更适合文本处理;C语言被广泛用于操作系统和编译器的开发(所谓的系统编程)。[1]

     
    精彩的视频课程等着大家的观看,相信你会收获更多你想要的知识学而有成!

     



课课家教育

未登录