艾恩ASP無組件上傳插件的說明文檔
艾恩ASP無組件上傳插件
現在的版本能適應各種上傳方式。上傳類的主要的功能如下:
- 自由設置最大上傳大小、單文件最大上傳大小
- 自由設置允許上傳的文件類型
- 可設置文本的編碼,以適應各種上傳環境
- 內置進度條,用戶可選擇開啟和關閉(需配合客戶端程序)
- 多種錯誤狀態處理
- 多種文件保存方式:原文件名、隨機文件名、用戶自定義文件名
- 自由選擇是否覆蓋已存在文件
- 完整保存表單數據,支持同名表單,不支持同名文件域
- 可獲取常見圖片格式的寬高
- 優化的上傳過程
注意:
1、特別注意Form一定要加上enctype="multipart/form-data"屬性,method屬性值必須是post,否則上傳會出錯。
2、request.form()方法獲取數據失效,請使用UpLoad.forms()。
3、上傳前請確認保存文件的文件夾有讀寫權限,若不可寫則會出現"文件無法寫入"錯誤。
二、調用方法
- dim Upload
- set Upload = new AnUpLoad
注意:上傳屬性的設置必須在調用Upload.GetData()之前。
簡單調用示例:
- dim Upload
- set Upload=new AnUpLoad 'Set Upload = server.CreateObject("Anasp.Anupload")
- Upload.SingleSize=1024*1024*1024 '設置單個文件最大上傳限制,按字節計;默認為不限制
- Upload.MaxSize=1024*1024*1024 '設置最大上傳限制,按字節計;默認為不限制
- Upload.Exe="*.bmp;*.rar;*.pdf;*.jpg;*.gif;" '設置合法擴展名
- Upload.Charset="gb2312" '設置文本編碼,默認為gb2312
- Upload.Mode = 0
- Upload.GetData() '獲取並保存數據,必須調用本方法
三、類說明
上傳涉及2個類:AnUpLoad(關鍵上傳類)和UploadFileEx(文件輔助類),下面分別說明:
1、AnUpLoad(關鍵上傳類)
屬性
屬性名 讀/寫 說明 Mode 只寫 Int,數據讀取方式,建議使用默認值,性能比較好。 MaxSize 只寫 long,允許上傳的最大字節數。 SingleSize 只寫 Long,允許上傳的單文件的最大字節數。 Exe 只寫 String,允許上傳的擴展名,不設置則允許所有,*也匹配所有。例如“*.exe;*.txt;”,兼容原設置方式 CharSet 只寫 String,設置文本編碼,默認為GB2312。 ErrorID 只讀 Int,上傳過程發生錯誤的ID號,大於0代表上傳出錯 FileCount 只讀 Int,上傳文件的數量 Description 只讀 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_LIMITVersion 只讀 String,上傳類/組件的版本號 TotalSize 只讀 Long,上傳文件的的總大小 LostTime 只讀 Long,上傳使用的時間,不包括保存文件的時間 方法
方法原型 說明 GetData() 處理上傳的數據,沒有任何參數也沒有返回值 GetSize(Byval Size) 作用:格式化數字為可直接識別的文件大小表示方式
參數:Size:必選,文件大小的數字表示方式
返回值:String,格式化後的文件大小的文本表示方式
說明:例如,1024返回1KBForms(Byval formname) 作用:獲取表單數據
參數:formname:表單名字,必選
返回值:String,表單值
說明:若formname為-1,返回一個包含所有表單項的一個dictionary對象Files(Byval formname) 作用:獲取文件類
參數:formname:文件域的名字,必選
返回值:UploadFileEx,包含文件信息的文件類。類詳細說明請參考UploadFile的說明
說明:若formname為-1,返回一個包含所有上傳文件類的一個dictionary對象
若上傳多個name屬性相同的文件,則只返回第一個匹配的文件(為兼容HTML5而修改)對象Files_Muti(ByVal formname,byval index)
本方法為兼容HTML5添加作用:根據Index獲取文件類
參數:formname:文件域的名字,必選
index:索引,從0開始,必選
返回值:UploadFileEx,包含文件信息的文件類。類詳細說明請參考UploadFile的說明
說明:若formname為-1,返回一個包含所有上傳文件類的一個dictionary對象QuickSave(ByVal formname,Byval SavePath) 作用:快速保存指定文件域的文件
參數:formname:文件域的名字,必選
SavePath:保存路徑
返回值:Int,成功保存的文件數量2、UploadFileEx(文件類(對象),保存文件相關信息)
一些由程序自動處理的屬性不建議用戶寫入(Size,value,IsFile,FormName)。
屬性
屬性名 說明 FormName String,只讀,文件域名(name屬性) NewName String,可讀寫,程序自動生成的文件名(時間+隨機數) LocalName String,可讀寫,原文件名 FileName String,只讀,保存到硬盤的文件名,調用saveToFile後有效 UserSetName String,可讀寫,用戶自定義文件名,不包含擴展名 ContentType String,只讀,文件類型 Size Long,只讀,文件大小 value Byte[],只讀,文件數據 Path String,只讀文件在服務器的保存目錄的路徑 Extend String,可讀寫,文件的擴展名(僅SaveToFile的tOption為-1並且設置過UserSetName時有效) Exception String,只讀,保存文件異常信息 IsFile Boolean,只讀,判斷是不是文件。 方法
方法原型 說明 SaveToFile(ByVal Path , byval tOption, byval OverWrite) 作用:將上傳的文件保存到服務器
參數:Path:文件保存路徑,必選。支持相對路徑和絕對路徑。
tOption:文件名定義方式,必選。
默認為0,文件以程序自動生成的文件名保存;
-1,若用戶設置了自定義文件名,則使用用戶自 定義的文件名保存;
1,使用原文件名保存。OverWrite:是否覆蓋同名文件。
默認為true,覆蓋同名文件;
false,不覆蓋同名文件,若有同名文件,則重命名文件(文件名後面加數字),必選
返回值:Boolean,文件是否保存成功
說明:返回Boolean值;true-保存成功,false-保存失敗,失敗信息保存在Exception屬性GetBytes() 作用:獲取文件的二進制數據
參數:無
返回值:Byte[],文件的二進制數據
說明:取回文件的二進制數據,方便其他程序處理,例如AspJpeg組件等
留言
張貼留言