相關(guān)資訊
- 使用Javascript開(kāi)發(fā)移動(dòng)應(yīng)用程序
- 英特爾將于2013年生產(chǎn)下一代CPU
- JavaScript與jQuery 相關(guān)問(wèn)題解答
- PSP《喧嘩番長(zhǎng)5:男子漢的法則》系
- 用Visual Basic為軟件增加注冊(cè)功能
- Visual Basic中輕松打造絢麗按鈕
- 用Visual Basic實(shí)現(xiàn)undo功能
- Visual Basic中調(diào)用MSN API函數(shù)
- 用pushlets實(shí)現(xiàn)java comet,長(zhǎng)連接
- 如何在WCF中用TcpTrace工具查看發(fā)送
本類(lèi)常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶(hù)端下載下載量:584204
-
Windows優(yōu)化大師下載量:416918
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶(hù)端下載下載量:365699
-
快播手機(jī)版下載量:325855
AspUpload組件下載及使用方法
2013/4/19 8:56:14 出處:本站原創(chuàng) 人氣:512次 字號(hào):小 中 大
AspUpload對(duì)ASP編程人員來(lái)說(shuō)要實(shí)現(xiàn)ASP網(wǎng)站文件上傳功能它是首選。
首先們需要下載一個(gè)AspUpload組件
本文就為大家介紹一下AspUpload組件的安裝及使用方法,其中還附帶了AspUpload安裝的常見(jiàn)問(wèn)題解答及一個(gè)使用AspUpload實(shí)現(xiàn)文件上傳的實(shí)例。
用法:
< type=text/Java>attachEvent("", (){AutoSizeDIV(’CODE_7643’)}) 程序代碼:
Upload.CodePage = 65001
-------------------------------------------
DetectMacBinary As Boolean (Read/Write)
默認(rèn)為T(mén)rue。 這個(gè)屬性用來(lái)控制是否檢測(cè)上傳的文件是MacBinary格式的,如果是則從中提取“data fork”。AspUpload 3.0 Beta 1. 不支持。
用法:
Upload.DetectMacBinary = False
--------------------------------------------
Directory (Path As String, Optional SortBy, Optional Ascending) As Object (Read-Only)
返回一個(gè)集合,這個(gè)集合包括指定目錄的所有子目錄和文件的引用。
在這個(gè)集合里,子目錄總是優(yōu)先于文件.Path 可以包括通配符 * 和 ?。
SortBy 可 以 是: SORTBY_NAME (1, default). SORTBY_TYPE (2), SORTBY_SIZE (3), SORTBY_CREATIONTIME (4), SORTBY_LASTWRITETIME (5), and SORTBY_LASTaccessTIME (6).
Ascending 默認(rèn)為T(mén)rue。
用法:
<!--DATA TYPE="TypeLib" UUID="{B4E1B2DE-151B-11D2-926A-006008123235}"-->
Set Dir = Upload.Directory("c:\path\*.*", SORTBY_SIZE)
For Each Item in Dir
...
Next
-------------------------------------------
Expires As Date (Read-Only)
如果已經(jīng)注冊(cè),返回9/9/9999,否則返回失效期。
用法:
Response.Write Upload.Expires
-------------------------------------------
Files As Object (Read-Only)
返回一個(gè)集合,這個(gè)集合包含有上傳文件的引用。
使用這個(gè)集合之前,必須調(diào)用Save或 SaveVirtual方法。
要引用一個(gè)單個(gè)文件,可以使用從1開(kāi)始的整數(shù)下標(biāo),或者相應(yīng)的文件框的名稱(chēng)。
要列舉集合里的項(xiàng)目,可以使用For/Each 語(yǔ)句。
用法:
Set File = Upload.Files(1)
Set File = Upload.Files("FILE1")
For Each File in Upload.Files
...
Next
-------------------------------------------
Form As Object (Read-Only)
返回一個(gè)集合,這個(gè)集合包括所有不是文件框的表單項(xiàng)目的引用。
使用這個(gè)集合之前,必須調(diào)用Save或 SaveVirtual方法。
要引用一個(gè)單個(gè)表單項(xiàng)目,可以使用從1開(kāi)始的整數(shù)下標(biāo),或者相應(yīng)的項(xiàng)目的名稱(chēng)。
要列舉集合里的項(xiàng)目,可以使用For/Each 語(yǔ)句。
用法:
Name = Upload.Form(1)
Name = Upload.Form("Name")
For Each Item in Upload.Form
Response.Write Item.
Next
-------------------------------------------
IgnoreNoPost As Boolean (Read/Write)
當(dāng)Upload.Save方法被腳本直接調(diào)用,而不是通過(guò)表單提交時(shí),可以避免 "Wrong Content-Type"這個(gè)錯(cuò)誤。當(dāng)表單和相應(yīng)的上傳腳本在同一個(gè)文件時(shí),這個(gè)屬性很有用。
用法:
Upload.IgnoreNoPost = True
-------------------------------------------
OverwriteFiles As Boolean (Read/Write)
默認(rèn)為T(mén)rue。如果設(shè)置為False,那么當(dāng)文件名已經(jīng)存在時(shí),AspUpload會(huì)在原文件名后附加“(12)”這種形式的字符。這個(gè)屬性影響Save, SaveVirtual 和 File.SaveAs方法。
用法:
Upload.OverwriteFiles = False
-------------------------------------------
PreserveFileTime As Boolean (Read/Write)
默認(rèn)為Flase。如果設(shè)置為T(mén)rue,會(huì)試圖保護(hù)上傳文件的上次修改時(shí)間。
這個(gè)屬性只是客戶(hù)端使用XUpload或者JUpload 的時(shí)候有用。
當(dāng)使用常規(guī)Form提交的時(shí)候,它沒(méi)有任何作用。
用法:
Upload.PreserveFileTime = False
-------------------------------------------
ProgressID As String (Read/Write)
上傳進(jìn)度條所用的,用來(lái)區(qū)分上傳進(jìn)程。
用法:
Upload.ProgressID = Request.QueryString("PID")
-------------------------------------------
RegKey As String (Read/Write)
指定注冊(cè)碼,如果沒(méi)有指定,AspUpload會(huì)從系統(tǒng)注冊(cè)表讀取。
用法:
Upload.RegKey = "12345-67890-12345"
-------------------------------------------
TotalBytes As Long (Read-Only)
返回上傳的總字節(jié)數(shù)。
只能在成功調(diào)用Save(SaveVirtual)方法后調(diào)用這個(gè)屬性。
用法:
Response.Write Upload.TotalBytes
-------------------------------------------
TotalSeconds As Long (Read-Only)
返回上傳持續(xù)的總時(shí)間。
只能在成功調(diào)用Save(SaveVirtual)方法后調(diào)用這個(gè)屬性。
用法:
Response.Write Upload.TotalSeconds
-------------------------------------------
Version As String (Read-Only)
返回組件的版數(shù),如:"3.0.0.0".
用法:
Response.Write Upload.Version
-------------------------------------------
UploadManager Methods
======================================================
Sub CopyFile (FromPath As String, ToPath As String, Optional Overwrite)
復(fù)制文件。
Overwrite 默認(rèn)為T(mén)rue。如果設(shè)置為False,當(dāng)目標(biāo)路徑存在時(shí),這個(gè)方法會(huì)失敗。
用法:
Upload.CopyFile "c:\path1\file.ext", "c:\path2\file.ext"
-------------------------------------------
Sub CreateDirectory (Path As String, Optional IgnoreAlreadyExists)
建立目錄。
IgnoreAlreadyExists 默認(rèn)為False。如果設(shè)置為T(mén)rue,當(dāng)目標(biāo)路徑存在時(shí),這個(gè)方法不會(huì)報(bào)錯(cuò)。
用法:
Upload.CreateDirectory "c:\dir1\dir2", True
-------------------------------------------
Sub CreateFile (Path As String)
建立一個(gè)空文件。
用法:
Upload.CreateFile "c:\path\file.txt"
-------------------------------------------
Sub DecryptAndSendBinary (Path As String, IncludeContentType As Boolean, ContentType As String, Key As CryptoKey, RemoveExt As Boolean, Optional Attachment, Optional FileName)
和SendBinary相同,但是發(fā)送之前會(huì)使用Key對(duì)文件進(jìn)行編碼,這個(gè)Key可以由AspEncrypt組件生成。
RemoveExt參數(shù)指定下載框中是否顯示文件的擴(kuò)展名。
如果Attachment參數(shù)設(shè)置為T(mén)rue,輸出的Header中Content-Disposition 將包括關(guān)鍵字"attachment;",以強(qiáng)迫IE下載這個(gè)文件。
FileName參數(shù), 指定下載框中顯示的文件名。
用法:
Upload.DecryptAndSendBinary "c:\dir\file.txt.xxx", True, "application/octet-stream", Key, True, True
-------------------------------------------
Sub DeleteFile (Path As String)
刪除文件。
用法:
Upload.DeleteFile "c:\path\file.txt"
-------------------------------------------
FileExists (Path As String) As Boolean
檢測(cè)文件是否存在。
用法:
if Upload.FileExists("c:\path\file.txt") Then ...
-------------------------------------------
Sub FromDatabase (Connect As String, SQL As String, Path As String)
使用ODBC,從數(shù)據(jù)庫(kù)的表中輸出BLOB字段到硬盤(pán)。
Connect 指定ODBC連接字符串。
SQL 該SQL語(yǔ)句應(yīng)該返回一條記錄,這個(gè)記錄應(yīng)該包括Blob字段。
Path 完整的文件路徑,包括文件名。
用法:
Upload.FromDatabase "DSN=mydb;UID=sa;PWD=xxx;", "select image_blob from myimages where id = 3", "c:\path\file.txt"
-------------------------------------------
Sub FromRecordset (Recorset As Variant, Path As String) 使用ADO Recordset 對(duì)象從數(shù)據(jù)庫(kù)的表中輸出BLOB字段。
Recordset 是一個(gè)recordset字段,比如rs("image_blob").。
Path 完整的路徑,包括文件名。
用法:
Set rs = Server.CreateObject("adodb.recordset")
rs.Open "MYIMAGES", Connect, 2, 3
Upload.FromRecordset rs("image_blob")., "c:\path\file.txt"
-------------------------------------------
Sub LOGOnUser (Domain As String, Username As String, Password As String, Optional Flags) 扮演指定的用戶(hù)帳號(hào)。
如果Domain 是空的,那么本機(jī)將會(huì)驗(yàn)證這個(gè)密碼。
如果您當(dāng)前的安全設(shè)置不允許你執(zhí)行上傳到遠(yuǎn)程機(jī)器或者其他操作,可以使用這個(gè)方法。
Flags 可以是以下值: LOGON_INTERACTIVE (2, default), LOGON_NETWORK (3), LOGON_BATCH (4), and LOGON_SERVICE (5)。不推薦使用這個(gè)可選參數(shù)。
用法:
Upload.LogonUser "domain", "jsmith", "xxxxxx"
-------------------------------------------
Sub MoveFile (FromPath As String, ToPath As String) 移動(dòng)文件。如果目標(biāo)路徑存在,這個(gè)方法將會(huì)報(bào)錯(cuò)。
用法:
Upload.MoveFile "c:\path1\file.ext", "c:\path2\file.ext"
-------------------------------------------
OpenFile (Path As String) As Object 建立一個(gè)UploadedFile 實(shí)例,它指向指定的文件。
如果你想使用UploadedFile.Binary屬性的優(yōu)勢(shì),保存任意文件到數(shù)據(jù)庫(kù),這個(gè)方法很有用。
用法:
Set File = Upload.OpenFile("c:\path1\file.ext")
-------------------------------------------
Sub RegisterServer (Path As String, Optional Register) 模仿 REGSVR32 (/u)的動(dòng)作。 注冊(cè)或者卸載指定的ActiveX DLL.
如果Register參數(shù)為T(mén)rue或忽略,為注冊(cè)DLL, 否則為卸載。
用法:
Upload.RegisterServer "c:\path1\file.dll"
Upload.RegisterServer "c:\path1\file.ocx", False
-------------------------------------------
Sub RemoveDirectory (Path As String)
刪除目錄,如果目錄包含文件或子目錄,會(huì)報(bào)錯(cuò)。
用法:
Upload.RemoveDirectory "c:\path"
-------------------------------------------
Sub RevertToSelf
結(jié)束由 LogonUser方法開(kāi)始的扮演。
通常不需要調(diào)用這個(gè)方法,角色扮演會(huì)自動(dòng)結(jié)束。
用法:
Upload.RevertToSelf
-------------------------------------------
Save (Optional Path, Optional Key, Optional Ext) As Long
最主要的方法。捕獲文件,保存到硬盤(pán)或內(nèi)存,組裝Files和Form集合。
Path參數(shù), 如果指定,則是文件保存到的路徑。
如果Path參數(shù)被忽略,文件保存到內(nèi)存,可以通過(guò)File.Binary存取,或者通過(guò)File.SaveAs保存到硬盤(pán)。
參數(shù)Key和Ext,用來(lái)加密上傳的文件。
Key是一個(gè)CryptoKey對(duì)象,它由ASPEncrypt組件生成。如果指定這個(gè)參數(shù),文件保存之前將會(huì)被加密。
Ext是可選擴(kuò)展名。
方法返回值:成功保存的文件數(shù)。
用法:
Count = Upload.Save ’ save to memory
Count = Upload.Save("c:\upload") ’ save to hard drive
Upload.Save "c:\upload" ’ save to hard drive, ignore return
Upload.Save , Key, "xxx" ’ Save to memory, encrypt with Key
Upload.Save "c:\upload", Key, "xxx" ’ Save to hard drive, encrypt with Key
-------------------------------------------
SaveEncrypted (Path As String, Key As Object, Ext As String) As Long
此方法廢止。 只用來(lái)向后兼容。用Save方法替代。
Upload.SaveEncrypted(Path, Key, Ext)
等價(jià)于
Upload.Save(Path, Key, Ext)
-------------------------------------------
SaveToMemory As Long
此方法廢止。 只用來(lái)向后兼容。用Save方法替代。
Upload.SaveToMemory
等價(jià)于
Upload.Save
-------------------------------------------
SaveVirtual (Optional VirtualPath, Optional Key, Optional Ext) As Long
和Save方法相同,但是參數(shù)為虛擬路徑,而不是物理路徑。
方法內(nèi)部調(diào)用Server.MapPath方法轉(zhuǎn)換虛擬路徑為物理路徑。
因此, Upload.SaveVirtual(path) 等價(jià)于Upload.Save(Server.MapPath(path))。
在Web主機(jī)環(huán)境里,系統(tǒng)管理員可以禁止Save方法,強(qiáng)迫ASPUpload用戶(hù)使用SaveVirtual方法,以便限制他在自己的目錄中進(jìn)行操作。
用法:
Upload.SaveVirtual "/images"
Upload.SaveVirtual "/images", Key, "xxx"
-------------------------------------------
SaveVirtualEncrypted (Optional VirtualPath, Optional Key, Optional Ext) As Long
此方法廢止。 只用來(lái)向后兼容。用SaveVirtual方法替代。
-------------------------------------------
Sub SendBinary (Path As String, Optional IncludeContentType, Optional ContentType, Optional Attachment, Optional FileName)
用作文件下載。
取得指定的文件,發(fā)送給客戶(hù)端瀏覽器。
參數(shù)IncludeContentType默認(rèn)為T(mén)rue。
它控制著是否建立Content-Type, Content-Disposition 和Content-Length 這些Header信息. 如果設(shè)置為False,這些Header信息不會(huì)建立。
ContentType 指定Content-Type header。
Attachment 默認(rèn)為False。如果設(shè)置為T(mén)rue,“Content-Disposition” header 將包括“attachment”關(guān)鍵字,強(qiáng)迫瀏覽器彈出下載框,而不是在瀏覽器中打開(kāi)。
FileName 指定下載框中的文件名。
用法:
Upload.SendBinary "c:\path\file.ext", True, "application/octet-stream", True
-------------------------------------------
Sub SetMaxSize (MaxSize As Long, Optional Reject)
指定單個(gè)文件的限定大小。
參數(shù)Reject 指定過(guò)大的文件是否會(huì)拒絕(True的時(shí)候)或截。‵alse或省略的時(shí)候。)。
用法:
Upload.SetMaxSize 150000, True
-------------------------------------------
Sub ToDatabaseEx (Path As String, Connect As String, SQL As String, Optional MSAccessHeaders)
保存任意的文件到數(shù)據(jù)庫(kù)。
查看UploadedFile.ToDatabase 方法。
用法:
Upload.ToDatabaseEx "c:\path\file.txt", "DSN=mydb;", "insert into myimages(image_blob) s(?)"
-------------------------------------------
UploadedFile 屬性
================================================
Attributes As Long (Read/Write)
設(shè)置和取得文件的系統(tǒng)屬性。
可以是以下值的結(jié)合。www.58action.com
FILE_ATTR_READONLY = &H1
FILE_ATTR_HIDDEN = &H2
FILE_ATTR_SYSTEM = &H4
FILE_ATTR_DirectorY = &H10
FILE_ATTR_ARCHIVE = &H20
FILE_ATTR_NORMAL = &H80
FILE_ATTR_TEMPORARY = &H100
FILE_ATTR_COMPRESSED = &H800
用法:
<!--DATA TYPE="TypeLib" UUID="{B4E1B2DE-151B-11D2-926A-006008123235}"-->
Response.Write File.Attributes
File.Attributes = File.Attributes + FILE_ATTR_READONLY
-------------------------------------------------------------
Binary As Variant (Read-Only)
返回文件的binary image 。It is a Variant-packed safe array of bytes.
保存文件到數(shù)據(jù)庫(kù)的時(shí)候有用。
用法:
rs.AddNew
rs("image_blob). = File.Binary
rs.Update
-------------------------------------------------------------
ContentType As String (Read-Only)
返回文件的Content-Type。
如:"text/plain" 或 "application/octet-binary".
用法:
Response.Write File.ContentType
-------------------------------------------------------------
CreationTime As Date (Read-Only)
返回文件的創(chuàng)立時(shí)間戳。如果是內(nèi)存文件,這個(gè)屬性沒(méi)有定義。
用法:
Response.Write File.CreationTime
-------------------------------------------------------------
Ext As String (Read-Only)
返回文件擴(kuò)展名。
用法:
Response.Write File.Ext
-------------------------------------------------------------
FileName As String (Read-Only)
返回文件被保存的名稱(chēng)。www.5tuijian.com
如果Upload.OverwriteFiles為False,它可能和原始文件名不同。
用法:
Response.Write File.FileName
-------------------------------------------------------------
Folder As String (Read-Only)
返回文件被保存的文件夾名。
如果是內(nèi)存文件,和原始文件夾名相同。
用法:
Response.Write File.Folder
-------------------------------------------------------------
ImageHeight As Long (Read-Only)
返回圖片的像素高。如果不是圖片,返回0。
格式支持BMP, JPG, GIF, 和 PNG。
用法:
Response.Write File.ImageHeight
-------------------------------------------------------------
ImageType As String (Read-Only)
返回圖片類(lèi)型。 可能的返回值有"BMP", "GIF", "JPG", "PNG", 和"TIF" for BMP, GIF, JPEG, PNG 和TIFF images, 分別的, 和"UNKNOWN" (如果文件不是圖片,或是已知圖片類(lèi)型以外的。)
用法:
Response.Write File.ImageType
-------------------------------------------------------------
ImageWidth As Long (Read-Only)
返回圖片的像素寬。如果不是圖片,返回0。
格式支持BMP, JPG, GIF, 和 PNG。
用法:
Response.Write File.ImageWidth
-------------------------------------------------------------
LastAccessTime As Date (Read-Only)
返回文件的上次存取時(shí)間戳。如果是內(nèi)存文件,這個(gè)屬性沒(méi)有定義。
用法:
Response.Write File.LastAccessTime
-------------------------------------------------------------
LastWriteTime As Date (Read-Only)
返回文件的上次寫(xiě)入時(shí)間戳。如果是內(nèi)存文件,這個(gè)屬性沒(méi)有定義。
除非這個(gè)文件是由XUpload或JUpload上傳的,并且PreserveFileTime特性是打開(kāi)的。
用法:
Response.Write File.LastWriteTime
-------------------------------------------------------------
MD5Hash As String (Read-Only)
以十六進(jìn)制返回文件的MD5 one-way Hash值。
用法:
Response.Write File.MD5Hash
-------------------------------------------------------------
Name As String (Read-Only)
返回文件在表單中對(duì)應(yīng)項(xiàng)目的名稱(chēng)。
這個(gè)屬性不能取得文件名,應(yīng)該使用FielName。
用法:
Response.Write File.Name