admin 管理员组

文章数量: 887031


2023年12月18日发(作者:failed to open a new selector)

艾恩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 Uploadset Upload = new AnUpLoad注意:上传属性的设置必须在调用a()之前。简单调用示例:dim Uploadset Upload=new AnUpLoad'Set Upload = Object("ad")Size=1024*1024*1024'设置单个文件最大上传限制,按字节计;默认为不限制e=1024*1024*1024'设置最大上传限制,按字节计;默认为不限制="*.bmp;*.rar;*.pdf;*.jpg;*.gif;"'设置合法扩展名t="gb2312"'设置文本编码,默认为 = a()'获取并保存数据,必须调用本方法

三、类说明上传涉及2个类:AnUpLoad(关键上传类)和UploadFileEx(文件辅助类),下面分别说明:1、AnUpLoad(关键上传类)属性:属性名ModeMaxSizeSingleSizeExeCharSetErrorIDFileCountDescription读/写只写只写只写只写只写只读只读只读说明Int,数据读取方式,建议使用默认值,性能比较好。long,允许上传的最大字节数。Long,允许上传的单文件的最大字节数。String,允许上传的扩展名,不设置则允许所有,*也匹配所有。例如“*.exe;*.txt;”,兼容原设置方式String,设置文本编码,默认为GB2312。Int,上传过程发生错误的ID号,大于0代表上传出错Int,上传文件的数量String,上传过程中的描述。根据ErrorID分别如下描述:ErrorID=0,COMPLETEErrorID=1,ERROR_FILE_EXCEEDS_MAXSIZE_LIMITErrorID=2,ERROR_INVALID_ENCTYPEOR_METHODErrorID=3,ERROR_INVALID_FILETYPEErrorID=5,ERROR_FILE_EXCEEDS_SIZE_LIMITString,上传类/组件的版本号Long,上传文件的的总大小Long,上传使用的时间,不包括保存文件的时间VersionTotalSizeLostTime方法:方法原型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)。属性:属性名FormNameNewNameLocalNameFileNameUserSetNameContentTypeSizevaluePathExtendExceptionIsFile说明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属性,判断文件类是不是包含文件五、版权信息本类版权归原作者所有,您可以无功能限制的免费使用本类,请保留类文件内的相关的说明信息。非常感谢您对本类的支持。


本文标签: 文件 上传 保存