標籤:des http io os 使用 ar for sp 檔案
艾恩ASP無組件上傳類(上傳組件)說明文檔
2010-1-18 By Anlige
一、簡介
自從接觸ASP就開始接觸上傳,看過一些上傳類,但是總感覺封裝的還是不夠簡單,因此自己嘗試
寫一個能夠用最少最簡單的代碼實現各種上傳方式的上傳類。
在學校期間就開始寫,一點點的完善、最佳化,到現在的版本,現在的版本能適應各種上傳方式。上
傳類的主要的功能如下:
1、自由設定最大上傳大小、單檔案最大上傳大小
2、自由設定允許上傳的檔案類型
3、可設定文本的編碼,以適應各種上傳環境
4、內建進度條,a使用者可選擇開啟和關閉
5、多種錯誤狀態處理
6、多種檔案儲存方式:原檔案名稱、隨機檔案名稱、使用者自訂檔案名稱
7、自由選擇是否覆蓋已存在檔案
8、完整儲存表單資料,支援同名表單,不支援同名檔案域
注意:
1、特別注意Form一定要加上enctype="multipart/form-data"屬性,method屬性值必須是post,否
則上傳會出錯
2、request.form()方法擷取資料失效,請使用UpLoad.forms()
3、上傳前請確認儲存檔案的檔案夾有讀寫權限,若不可寫則會出現"檔案無法寫入"錯誤,解決方案
http://dev.mo.cn/show.asp?id=81
二、調用方法
1、無組件類的調用方法:
Dim Upload
set Upload = new AnUpLoad
2、組件的調用方法:
Dim Upload
Set Upload = server.CreateObject("Jo.Upload")
注意:上傳屬性的設定必須在調用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.openProcesser=false ‘禁止進度條功能,如果啟用,需配合用戶端程式
Upload.GetData() ‘擷取並儲存資料,必須調用本方法
三、類說明
上傳涉及2個類-AnUpLoad(關鍵上傳類)和UploadFile(檔案類,儲存檔案相關資訊),下面分別
說明:
1、AnUpLoad(關鍵上傳類)
屬性:屬性名稱 讀/寫 說明
Mode 唯寫 資料讀取方式,建議使用預設值,效能比較好。
MaxSize 唯寫 允許上傳的最大位元組數。
SingleSize 唯寫 允許上傳的單檔案的最大位元組數。
Exe 唯寫 允許上傳的副檔名,以|分隔。不設定則允許所有。*
也匹配所有
CharSet 唯寫 設定編碼,預設為GB2312。如果在utf-8的頁面使用,
請設定為utf-8
ErrorID 唯讀 上傳過程發生錯誤的ID號,大於0代表上傳出錯
FileCount 唯讀 上傳檔案的數量
Description 唯讀 上傳過程中的描述,ErrorID大於0則是錯誤描述
Version 唯讀 上傳類/組件的版本號碼
TotalSize 唯讀 上傳檔案的的總大小
ProcessID 唯讀 無重新整理上傳的進程ID,由用戶端傳遞
openProcesser 唯寫 是否開啟進度條
LostTime 唯讀 上傳使用的時間,不包括儲存檔案的時間
方法:
方法原型 說明
GetData() 處理上傳的資料,沒有任何參數也沒有傳回值
GetSize(Byval Size) 作用 格式化數字為可直接識別的檔案大小表示方式
參數 Size:必選,檔案大小的數字表示方式
傳回值 格式化後的檔案大小的文本表示方式
說明 例如,1024返回1KB
Forms(Byval formname) 作用 擷取表單資料
參數 formname:表單名字,必選
傳回值 表單值
說明 若formname為-1,返回一個包含所有表單項的一個
dictionary對象
Files(Byval formname) 作用 擷取檔案類
參數 formname:檔案域的名字,必選
傳回值 包含檔案資訊的檔案類。類詳細說明請參考
UploadFile的說明
說明 若formname為-1,返回一個包含所有上傳檔案類的一
個dictionary對象
2、UploadFile(檔案類(對象),儲存檔案相關資訊)
由於本類(對象)為JScript對象,其屬性都是可讀寫的,一些由程式自動處理的屬性不建議
使用者寫入。屬性:
屬性名稱 說明
FormName 檔案網域名稱(name屬性)
NewName 程式自動產生的檔案名稱(時間+隨機數)
LocalName 原檔案名稱
FileName 儲存到硬碟的檔案名稱,調用saveToFile後有效
UserSetName 使用者自訂檔案名稱,不包含副檔名
ContentType 檔案類型
Size 檔案大小
value 檔案資料
Path 檔案在伺服器的儲存目錄的路徑
extend 檔案的副檔名
方法:
方法原型 說明
SaveToFile
(Path,Option,OverWrite)
作用 將上傳的檔案儲存到伺服器
參數 Path:檔案儲存路徑,必選。支援相對路徑和絕對路
徑
Option:檔案名稱定義方式,可選。
預設為0,檔案以程式自動產生的檔案名稱儲存;
-1,若使用者佈建了自訂檔案名稱,則使用使用者自
定義的檔案名稱儲存;
1,使用原檔案名稱儲存。
OverWrite:是否覆蓋同名檔案。
預設為true,覆蓋同名檔案;
false,不覆蓋同名檔案,若有同名檔案,則重命
名檔案(檔案名稱後面加數字)
傳回值 檔案儲存結果對象
說明 返回的對象有兩個屬性。
屬性error:true(儲存失敗)/false(儲存成功)
屬性description:儲存結果描述
GetBytes() 作用 擷取檔案的位元據
參數 無
傳回值 檔案的位元據
說明 取迴文件的位元據,方便其他程式處理,例如
AspJpeg組件等
CreateFolder(folderPath) 作用 自動建立不存在的目錄
參數 folderPath:要建立的檔案路徑,必選傳回值 無
說明
GetFilePath() 自動將同名檔案件重新命名
四、關於
Anlige(艾恩、Aien)
首頁:Http:// dev.mo.cn
郵箱:[email protected]
五、著作權資訊
本說明對“艾恩ASP無組件上傳類”以及“艾恩ASP上傳組件”均有效。本類著作權歸原作者所有,您
可以無功能限制的免費使用本類(組件),請保留類檔案內的相關的說明資訊。
非常感謝您對本類(組件)的支援。
我的其他資源:http://dev.mo.cn/download.html
艾恩ASP無組件上傳類(上傳組件)說明文檔(from www.sysoft.cc)