ASP For Jscript 无组件上传类 V 1.0

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<%
/*ASP For Jscript 无组件上传类 V 1.0
 *作者:江湖一键客
 *扣扣:82530662
*/
var ToolBox = function () {
	this.file={};
	/*作用:获取二进制、文件字节数、文件名
	 *@file_content: 文件内容
	 *返回对象{bin:二进制数据,size:数据大小,name:文件名}
	*/
	this.file.get_bin_info = function (file_content){
		var oo = Server.createObject("ADODB.Stream");
		/*获取文件大小*/
		oo.open();
		oo.type=1;
		oo.write(file_content);
		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(file_content);
		oo.position=sPos/3;
		var bFile=oo.read(sLength);
		oo.close();
		
		/*获取文件名*/
		oo.open();
		oo.type = 2;
		oo.writeText(file_content);
		oo.position = 0;
		oo.charset = "gb2312";
		var fileName = oo.readText().match(/filename=\"(.+?)\"/i)[1].split("\\").slice(-1)[0];
		oo.close();
		
		delete oo;
		return { bin:bFile, size:sLength, name:fileName };
	}
	
	/*作用: 保存文件
	*@full_file_name: 包含完整路径的文件名
	*@file_obj: 文件对象
	*/
	var save_file = function (full_file_name, file_obj) {
		var ads = Server.CreateObject("ADODB.Stream");
		ads.Type = 1;
		ads.Mode = 3;
		ads.Open();
		ads.Write(file_obj);
		ads.SaveToFile(full_file_name, 2);
		ads.Cancel();
		ads.Close();
		delete ads;
	}
	this.file.save_file = save_file;


}
var TOOLBOX=new ToolBox();
if (Request.serverVariables("REQUEST_METHOD")=="POST"){
	 var bLen  = Request.TotalBytes;
    var bText = Request.BinaryRead(bLen);
	var path=Request.Servervariables("APPL_PHYSICAL_PATH");
	var mFile=TOOLBOX.file.get_bin_info(bText);
	path+=mFile.name;
	TOOLBOX.file.save_file(path,mFile.bin);
}


%>
<html>


<head>
  <title>ASP For Jscript 无组件上传类</title>
  <meta http-equiv="content-Type" content="text/html; charset=gb2312">
</head>
<body>
  <form action="upload.asp" method="post" enctype="multipart/form-data" onSubmit="return (this.upFile.value!='');"> 
    <input type="file" name="upFile"/>
    <input type="submit" value="上传文件"/>
  </form>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值