2024年5月26日发(作者:)
艾恩ASP无组件上传类(上传组件)
AienAspUpload V13.01.16 By Anlige
一、简介
自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试
写一个能够用最少最简单的代码实现各种上传方式的上传类。
在学校期间就开始写,一点点的完善、优化,到现在的版本,现在的版本能适应各种上传方式。上
传类的主要的功能如下:
1、自由设置最大上传大小、单文件最大上传大小
2、自由设置允许上传的文件类型
3、可设置文本的编码,以适应各种上传环境
4、内置进度条,用户可选择开启和关闭(需配合客户端程序)
5、多种错误状态处理
6、多种文件保存方式:原文件名、随机文件名、用户自定义文件名
7、自由选择是否覆盖已存在文件
8、完整保存表单数据,支持同名表单,不支持同名文件域
9、可获取常见图片格式的宽高
10、优化的上传过程。。。
注意:
1、特别注意Form一定要加上enctype="multipart/form-data"属性,method属性值必须是post,否
则上传会出错
2、()方法获取数据失效,请使用()
3、上传前请确认保存文件的文件夹有读写权限,若不可写则会出现"文件无法写入"错误,解决方法
/?id=81
二、调用方法
dim Upload
set Upload = new AnUpLoad
注意:上传属性的设置必须在调用a()之前。
简单调用示例:
dim Upload
set Upload=new AnUpLoad'Set Upload = Object("ad")
Size=1024*1024*1024'设置单个文件最大上传限制,按字节计;默认为不限制
e=1024*1024*1024'设置最大上传限制,按字节计;默认为不限制
="*.bmp;*.rar;*.pdf;*.jpg;*.gif;"'设置合法扩展名
t="gb2312"'设置文本编码,默认为gb2312
= 0
a()'获取并保存数据,必须调用本方法
三、类说明
上传涉及2个类:AnUpLoad(关键上传类)和UploadFileEx(文件辅助类),下面分别说明:
1、AnUpLoad(关键上传类)
属性:
属性名
Mode
MaxSize
SingleSize
Exe
CharSet
ErrorID
FileCount
Description
读/写
只写
只写
只写
只写
只写
只读
只读
只读
说明
Int,数据读取方式,建议使用默认值,性能比较好。
long,允许上传的最大字节数。
Long,允许上传的单文件的最大字节数。
String,允许上传的扩展名,不设置则允许所有,*也匹
配所有。例如“*.exe;*.txt;”,兼容原设置方式
String,设置文本编码,默认为GB2312。
Int,上传过程发生错误的ID号,大于0代表上传出错
Int,上传文件的数量
String,上传过程中的描述。
根据ErrorID分别如下描述:
ErrorID=0,COMPLETE
ErrorID=1,ERROR_FILE_EXCEEDS_MAXSIZE_LIMIT
ErrorID=2,ERROR_INVALID_ENCTYPEOR_METHOD
ErrorID=3,ERROR_INVALID_FILETYPE
ErrorID=5,ERROR_FILE_EXCEEDS_SIZE_LIMIT
String,上传类/组件的版本号
Long,上传文件的的总大小
Long,上传使用的时间,不包括保存文件的时间
Version
TotalSize
LostTime
方法:
方法原型
GetData()
GetSize(Byval Size)
只读
只读
只读
说明
处理上传的数据,没有任何参数也没有返回值
作用
参数
返回值
说明
格式化数字为可直接识别的文件大小表示方式
Size:必选,文件大小的数字表示方式
String,格式化后的文件大小的文本表示方式
例如,1024返回1KB
获取表单数据
formname:表单名字,必选
String,表单值
若formname为-1,返回一个包含所有表单项的一个
dictionary对象
获取文件类
formname:文件域的名字,必选
UploadFileEx,包含文件信息的文件类。类详细说明
请参考UploadFile的说明
Forms(Byval formname)作用
参数
返回值
说明
Files(Byval formname)作用
参数
返回值
说明若formname为-1,返回一个包含所有上传文件类的一
个dictionary对象
若上传多个name属性相同的文件,则只返回第一个匹
配的文件(为兼容HTML5而修改)
根据Index获取文件类
formname:文件域的名字,必选
index:索引,从0开始,必选
UploadFileEx,包含文件信息的文件类。类详细说明
请参考UploadFile的说明
若formname为-1,返回一个包含所有上传文件类的一
个dictionary对象
快速保存指定文件域的文件
formname:文件域的名字,必选
SavePath:保存路径
Int,成功保存的文件数量
Files_Muti(ByVal
formname,byval index)
本方法为兼容HTML5添加
作用
参数
返回值
说明
QuickSave(ByVal
formname,Byval SavePath)
作用
参数
返回值
说明
2、UploadFileEx(文件类(对象),保存文件相关信息)
一些由程序自动处理的属性不建议用户写入(Size,value,IsFile,FormName)。
属性:
属性名
FormName
NewName
LocalName
FileName
UserSetName
ContentType
Size
value
Path
Extend
Exception
IsFile
说明
String,只读,文件域名(name属性)
String,可读写,程序自动生成的文件名(时间+随机数)
String,可读写,原文件名
String,只读,保存到硬盘的文件名,调用saveToFile后有效
String,可读写,用户自定义文件名,不包含扩展名
String,只读,文件类型
Long,只读,文件大小
Byte[],只读,文件数据
String,只读文件在服务器的保存目录的路径
String,可读写,文件的扩展名(仅SaveToFile的tOption为-
1并且设置过UserSetName时有效)
String,只读,保存文件异常信息
Boolean,只读,判断是不是文件。
方法:
方法原型说明
将上传的文件保存到服务器
Path:文件保存路径,必选。支持相对路径和绝对路
径。
tOption:文件名定义方式,必选。
默认为0,文件以程序自动生成的文件名保存;
-1,若用户设置了自定义文件名,则使用用户自
定义的文件名保存;
1,使用原文件名保存。
OverWrite:是否覆盖同名文件。
默认为true,覆盖同名文件;
false,不覆盖同名文件,若有同名文件,则重命
名文件(文件名后面加数字),必选
Boolean,文件是否保存成功
返回Boolean值;true-保存成功,false-保存失败,
失败信息保存在Exception属性
获取文件的二进制数据
无
Byte[],文件的二进制数据
取回文件的二进制数据,方便其他程序处理,例如
AspJpeg组件等
SaveToFile作用
(ByVal Path , byval
参数
tOption, byval OverWrite)
返回值
说明
GetBytes()作用
参数
返回值
说明
四、关于
作者:Anlige(艾恩、Aien)
主页:h ttp://
邮箱:zhanghuiguoanlige@
五、更新信息
2013-1-23:
1、增加对HTML5多文件的支持;
2、移除类中的所有中文提示及注释,方便在不同编码的文件中调用;
3、移除文件类的图片宽高属性,可以借助AspJpeg等组件实现
4、文件类增加isFile属性,判断文件类是不是包含文件
五、版权信息
本类版权归原作者所有,您可以无功能限制的免费使用本类,请保留类文件内的相关的说明信息。
非常感谢您对本类的支持。
发布评论