html 无组件上传图片,javascript无组件上传图片类

首先声明本代码是转自其他网站的,版权应该归属其所有者,贴出来的目的是为了和大家一起探讨、共同学习。下面是代码:

default.asp

//        ---------------------------------------------------

//        转发时请保留此声明信息,这段声明不并会影响你的速度!

//        ---------------------------------------------------

//                                无术JavaScript上传类 V0.9

//        作者:谢平

//        blog: http://birdshover.cnblogs.com

//        qq        : 19999351

//        2006-6-23

//        ---------------------------------------------------

//提供上传提示消息,供DHTML使用

var msg = Request.QueryString("msg");

if(!isNaN(msg))

{

if(msg==0)

msg = "上传成功!";

if(msg==1)

msg = "上传文件类型错误!";

if(msg==2)

msg = "上传文件大小超过限制!";

}

%>

无标题文档

myJsUploadClass.asp

//        ---------------------------------------------------

//        转发时请保留此声明信息,这段声明不并会影响你的速度!

//        ---------------------------------------------------

//                                无术JavaScript上传类 V0.9

//        作者:谢平

//        blog: http://birdshover.cnblogs.com

//        qq        : 19999351

//        2006-6-23

//        ---------------------------------------------------

/*        主类:MyMainClass

配置限制属性

配置方法                        */

function MyMainClass(MyType,MyLength,FileName)

{

this.PublicStream = new ActiveXObject("ADODB.Stream");

this.MyType = MyType;

this.MyLength = MyLength;

this.FileName = FileName;

this.MyCheck = MyCheckMethod;

this.MyCreat = MyCreatMethod;

this.MyRequest = MyRequestMethod;

this.MyLogic = MyLogicMethod;

this.MyStart = MyStart;

}

/*        检查类型及长度限制        */

function MyCheckMethod(MyType,MyLength)

{

var ItemList = this.MyType.split('|');

MyType = MyType.replace(/[/s/r/n]/,'');

var CheckFlag = 1;

for(var i = 0;i

{

if(ItemList== MyType)

{

CheckFlag = 0;

break;

}

}

if(this.MyLength*1024 < MyLength)

CheckFlag = 2;

return CheckFlag;

}

/*        保存文件        */

function MyCreatMethod(MyText,MyStartFlag,MyFName)

{

var NewMyFS = new ActiveXObject("ADODB.Stream");

NewMyFS.Type = 1

NewMyFS.Mode = 3

NewMyFS.Open

this.PublicStream.Position = MyStartFlag;

this.PublicStream.CopyTo(NewMyFS,MyText.length);

NewMyFS.SaveToFile(Server.MapPath(this.FileName + '.' + MyFName),2);

this.PublicStream.Close();

NewMyFS.Close();

}

/*        取上传内容        */

function MyRequestMethod()

{

var size = Request.TotalBytes;

var binData = Request.BinaryRead(size);

return binData;

}

/*        取数据        */

function MyLogicMethod(binData)

{

var MyType;

var MyLength;

var MyFS = this.PublicStream;

MyFS.Type = 2

MyFS.Open

MyFS.WriteText(binData);

MyFS.Position = 0;

MyFS.Charset = "ascii";

MyFS.Position = 2;

var text = MyFS.ReadText;

if(text.indexOf(/([sS][cC][rR][pP][tT])/)>0)

return 1;

MyType = text.substring(text.indexOf("Content-Type: "),text.indexOf("/n/r"));

MyType = MyType.substring(MyType.indexOf("/") + 1,MyType.length-1);

var MyText = text.substring(text.indexOf("Content-Type: "));

var MyType2 = MyText.substring(MyText.indexOf("/n/r")+2,MyText.indexOf("/n/r") + 9).replace(/[/s/r/n]/,'');

MyText = MyText.substring(MyText.indexOf("/n/r") + 5);

var MyStartFlag = text.length - MyText.length;

MyText = MyText.substring(0,MyText.indexOf("---"));

var boolFlag = 0;

var t = GetTheType(MyType,MyType2);

boolFlag = this.MyCheck(t,MyText.length);

if(t!="")

if(boolFlag==0)

{

this.MyCreat(MyText,MyStartFlag,t);

return t;

}

else

return boolFlag;

else

boolFlag = 1;

return boolFlag;

}

function GetTheType(MyType,MyType2)

{

var fName = "";

switch(MyType)

{

case "gif":

if(MyType2=="GIF89a")

fName = "gif";

break;

case "pjpeg":

if(MyType2.indexOf("X")>=0)

fName = "jpg";

break;

case "octet-stream":

if(MyType2.indexOf("Rar")>=0)

fName = "rar";

break;

case "msword":

if(MyType2.substring(0,2)=="PO")

fName = "doc";

break;

case "x-xml":

fName = "xml";

break;

case "bmp":

if(MyType2.substring(0,3)=="BMf")

fName = "bmp";

break;

}

return fName;

}

/*        主类:MyMainClass程序入口        */

function MyStart()

{

var MyBindData = this.MyRequest();

return this.MyLogic(MyBindData)

}

%>

uploadMethod.asp

//        ---------------------------------------------------

//        转发时请保留此声明信息,这段声明不并会影响你的速度!

//        ---------------------------------------------------

//        无术JavaScript上传类 V0.9

//        作者:谢平

//        blog: http://birdshover.cnblogs.com //        qq        : 19999351 //        2006-6-23 //        --------------------------------------------------- /*        相关说明:         支持gif,jpg,rar,doc,xml,bmp类型文件上传         以上类型文件后缀自动识别,不需要填写         如果遇到问题,或者发现问题,请与我联系。 */ //允许上传文件类型 var MyType = "jpg|gif|rar|doc"; //允许上传文件大小,单位KB var MyLength = 100; //指定文件前缀名称,如果指定目录,也在此处指定。 //例如: var FileName = ford/file1; var FileName = (new Date()).getTime(); //创建对象,返回信息 var MMC = new MyMainClass(MyType,MyLength,FileName); var fileType = MMC.MyStart(); //上传成功,可以在这里给出判断 if(isNaN(fileType)) {         //上传后的文件名是        FileName + "." + fileType         //比如写入数据库操作                 //返回状态,需要保留         fileType = 0; } Response.Redirect("Default.asp?msg=" + fileType); %>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值