纯Javascript打造的ASP组件|无组件上传,支持多文件及进度条

王朝学院·作者佚名  2009-04-12  
宽屏版  字体: 小 | 中 | 大 | 超大  

有组件上传方式请右键"FyUpload.sct"注册,然后可以使用:

Server.CreateObject("Rimifon.Upload")

创建对象。

无组件上传方式请使用

GetObject("script:" + 组件地址)

创建对象,组件地址为硬盘绝对路径,也可以使用http完整路径。

==============================================

属性和方法说明:

设置页面字符编码:Upload.Charset = "UTF-8" //默认为gb2312编码。

文件大小限制:Upload.MaxSize = 1024 * 512 //设置上传大小不超过 512 kb,参数为零时不限制上传文件大小(默认为 0)。

文件类型限制:Upload.Filter = "rar|zip|txt|gif|jpg|bmp|htm|html|swf|mht"; //(默认值)设置允许上传的文档类型,不限制上传文件类型则使用空值。

获得上传文件的客户端路径:Upload.Field.输入框名称.FilePath

获得上传文件的文件名称:Upload.Field.输入框名称.SourceName

获得上传文件后保存的文件名:Upload.Field.输入框名称.FileName

获得上传文件的MimeType:Upload.Field.输入框名称.FileType

获得上传文件实际大小:Upload.Field.输入框名称.FileSize

获得上传文件的受限信息:Upload.Field.输入框名称.Message

获得表单数据:Upload.Field.输入框名称.Value //如果是文件则返回文件的Unicode编码内容

指定上传缓冲区大小并读取上传数据:Upload.ReadForm(缓冲大小[bytes], 参数二) //默认为全部缓冲,推荐在200k以下(可解决2003不能上传大文件的问题);提供参数二可为上传生成进度条的Application数据。

保存文件到指定目录:Upload.SaveFile("保存目录") //默认为当前目录

==============================================

演示:http://www.fengyun.org/Test/NetDisk

普通演示代码如下:

<%@language=javascript%><html><head>

<meta http-equiv="Content-Type" content="text/html;charset=gb2312">

<title>風雲JS上传组件</title><%

var Upload,Info,undefined;

if(Request.ServerVariables("Request_Method") == "POST")

{

//Upload = Server.CreateObject("Rimifon.Upload");

Upload = GetObject("script:http://www.zope.org/Members/Rimifon/FyUpload.sct#Upload");

Upload.MaxSize = 1024 * 512;

Upload.ReadForm(204800);

Upload.SaveFile(".");

var field = new Array;

field.push("允许上传的文档:" + (Upload.Filter?Upload.Filter:"所有文档"));

field.push("单个文件最大值:" + (Upload.MaxSize?(Upload.MaxSize/1024/1024).toFixed(1)+" Mb":"不限文件大小"));

field.push("============================================================");

for(var x in Upload.Field)

{

if(Upload.Field[x].FilePath)

{

field.push(x+":" + (Upload.Field[x].Message?

Upload.Field[x].FilePath+"(" + Upload.Field[x].Message + ")":

"<a target=_blank href=" + Upload.Field[x].FileName + ">" +

Upload.Field[x].FilePath + "</a> (" + Upload.Field[x].FileSize + " bytes)"));

}

else

{

field.push(x+":"+Upload.Field[x].Value);

}

}

Upload.Dispose();

Upload = undefined;

Info = field.join("<br>");

}%></head><body>

<font color="red"><%=Info%></font>

<form method=post enctype="multipart/form-data">

field:<input name=field value=testString><br>

upFile1:<input name="upFile1" type="file"><br>

cnfield:<input name=cnfield value=一中文测试><br>

upFile2:<input name="upFile2" type="file"><br>

otherfield:<input name=otherfield value=dsihf83><br>

<input type="submit"></form></body></html>

请注意:下面的附件中,组件未必是最新的,最新组件的地址是: (文档以utf-8编码保存)

http://www.zope.org/Members/Rimifon/FyUpload.sct

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有