最新資訊

艾恩ASP無組件上傳插件的說明文檔

 艾恩ASP無組件上傳插件

現在的版本能適應各種上傳方式。上傳類的主要的功能如下:

  • 自由設置最大上傳大小、單文件最大上傳大小
  • 自由設置允許上傳的文件類型
  • 可設置文本的編碼,以適應各種上傳環境
  • 內置進度條,用戶可選擇開啟和關閉(需配合客戶端程序)
  • 多種錯誤狀態處理
  • 多種文件保存方式:原文件名、隨機文件名、用戶自定義文件名
  • 自由選擇是否覆蓋已存在文件
  • 完整保存表單數據,支持同名表單,不支持同名文件域
  • 可獲取常見圖片格式的寬高
  • 優化的上傳過程

注意:

1、特別注意Form一定要加上enctype="multipart/form-data"屬性,method屬性值必須是post,否則上傳會出錯。

2、request.form()方法獲取數據失效,請使用UpLoad.forms()。

3、上傳前請確認保存文件的文件夾有讀寫權限,若不可寫則會出現"文件無法寫入"錯誤。

二、調用方法

  1. dim Upload
  2. set Upload = new AnUpLoad
注意:上傳屬性的設置必須在調用Upload.GetData()之前。

簡單調用示例:

  1. dim Upload
  2. set Upload=new AnUpLoad 'Set Upload = server.CreateObject("Anasp.Anupload")
  3. Upload.SingleSize=1024*1024*1024 '設置單個文件最大上傳限制,按字節計;默認為不限制 
  4. Upload.MaxSize=1024*1024*1024 '設置最大上傳限制,按字節計;默認為不限制 
  5. Upload.Exe="*.bmp;*.rar;*.pdf;*.jpg;*.gif;" '設置合法擴展名 
  6. Upload.Charset="gb2312" '設置文本編碼,默認為gb2312
  7. Upload.Mode = 0 
  8. 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_LIMIT
Version只讀String,上傳類/組件的版本號
TotalSize只讀Long,上傳文件的的總大小
LostTime只讀Long,上傳使用的時間,不包括保存文件的時間

方法

方法原型說明
GetData()處理上傳的數據,沒有任何參數也沒有返回值
GetSize(Byval Size)作用:格式化數字為可直接識別的文件大小表示方式
參數:Size:必選,文件大小的數字表示方式
返回值:String,格式化後的文件大小的文本表示方式
說明:例如,1024返回1KB
Forms(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)。

屬性

屬性名說明
FormNameString,只讀,文件域名(name屬性)
NewNameString,可讀寫,程序自動生成的文件名(時間+隨機數)
LocalNameString,可讀寫,原文件名
FileNameString,只讀,保存到硬盤的文件名,調用saveToFile後有效
UserSetNameString,可讀寫,用戶自定義文件名,不包含擴展名
ContentTypeString,只讀,文件類型
SizeLong,只讀,文件大小
valueByte[],只讀,文件數據
PathString,只讀文件在服務器的保存目錄的路徑
ExtendString,可讀寫,文件的擴展名(僅SaveToFile的tOption為-1並且設置過UserSetName時有效)
ExceptionString,只讀,保存文件異常信息
IsFileBoolean,只讀,判斷是不是文件。

方法

方法原型說明
SaveToFile(ByVal Path , byval tOption, byval OverWrite)作用:將上傳的文件保存到服務器
參數:Path:文件保存路徑,必選。支持相對路徑和絕對路徑。
tOption:文件名定義方式,必選。
默認為0,文件以程序自動生成的文件名保存;
-1,若用戶設置了自定義文件名,則使用用戶自 定義的文件名保存;
     1,使用原文件名保存。OverWrite:是否覆蓋同名文件。
默認為true,覆蓋同名文件;
     false,不覆蓋同名文件,若有同名文件,則重命名文件(文件名後面加數字),必選
返回值:Boolean,文件是否保存成功
說明:返回Boolean值;true-保存成功,false-保存失敗,失敗信息保存在Exception屬性
GetBytes()作用:獲取文件的二進制數據
參數:無
返回值:Byte[],文件的二進制數據
說明:取回文件的二進制數據,方便其他程序處理,例如AspJpeg組件等

留言

這個網誌中的熱門文章

[解決]米家攝影機記憶卡異常 問題 (小米 智能攝影機 夜視版 1080P 監視器)

[解決] Synology 群輝 (NAS) 1515+ 開機死機 開不了機 現省10萬 Intel C2000 Series Failures

[教學] google play 無法連線,成功解決教學