<%@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>
ASP For Jscript 无组件上传类 V 1.0
最新推荐文章于 2025-08-21 23:36:32 发布