上傳|資料|資料庫 用ASP編寫網站應用程式程式時間長了,難免會遇到各式各樣的問題,其中關於如何上傳檔案到伺服器恐怕是遇見最多的問題了,尤其是上傳圖片,比如你想要在自己的社區裡面實作類別似網易虛擬社區提供的“每日一星”的功能,就要提供給網友上傳照片的功能。上傳圖片檔案到伺服器可以使用各種免費的檔案上傳組件,使用起來功能雖然很強大,但是由於很多情況下,我們只能使用免費的支援ASP的空間或者租用別人的虛擬空間,對於第一種情況,我們根本就沒有可能來使用檔案上傳組件;至於第二種情況,我們也要付出不少的“銀子”才可以。除非你擁有自己的虛擬機器主機,你就可以隨便的在伺服器上面安裝自己所需要的組件,這種情況對於大多數人來說是可望而不可及的。那我們就沒有辦法了嗎?呵呵,答案是肯定的(當然是肯定的了,要不然我也沒法寫出這篇文章啊)。下面就讓我們一起來使用純ASP代碼來實現圖片的上傳以及儲存到資料庫的功能(順便也實現顯示資料庫中的圖片到網頁上的功能)。
首先我們先來熟悉一下將要使用的對象方法。我們用來擷取上一個頁面傳遞過來的資料一般是使用Request對象。同樣的,我們也可以使用Request對象來擷取上傳上來的檔案資料,使用的方法是Request.BinaryRead()。而我們要從資料庫中讀出來圖片的資料顯示到網頁上面要用到的方法是:
Request.BinaryWrite()。在我們得到了圖片的資料,要儲存到資料庫中的時候,不可以直接使用Insert語句對資料庫進行操作,而是要使用ADO的AppendChunk方法,同樣的,讀出資料庫中的圖片資料,要使用GetChunk方法。各個方法的具體文法如下:
* Request.BinaryRead文法:
variant = Request.BinaryRead(count)
參數
variant
傳回值儲存著從用戶端讀取到資料。
count
指明要從用戶端讀取的資料量大小,這個值小於或者等於使用方法
Request.TotalBytes得到的資料量。
* Request.BinaryWrite文法:
Request.BinaryWrite data
參數
data
要寫入到用戶端瀏覽器中的資料包。
* Request.TotalBytes文法:
variant = Request.TotalBytes
參數
variant
返回從用戶端讀取到資料量的位元組數。
* AppendChunk文法
將資料追加到大型文本、位元據 Field 或 Parameter 對象。
object.AppendChunk Data
參數
object Field 或 Parameter 對象
Data 變體型,包含追加到對象中的資料。
說明
使用 Field 或 Parameter 對象的 AppendChunk 方法可將長二進位或字元資料填寫到對象中。在系統記憶體有限的情況下,可以使用 AppendChunk 方法對長整型值進行部分而非全部的操作。
{未完成!待續}