亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 用純ASP代碼實現圖片上傳并存入數據庫中.txt

?? 用純ASP代碼實現圖片上傳并存入數據庫中
?? TXT
字號:
轉載:  用純ASP代碼實現圖片上傳并存入數據庫中    


--------------------------------------------------------------------------------

 【boy911】 于 00-5-13 19:00:25 加貼在 Joy ASP ↑:

用純ASP代碼實現圖片上傳并存入數據庫中



用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 方法對長 

整型值進行部分而非全部的操作。 

* GetChunk語法 

返回大型文本或二進制數據 Field 對象的全部或部分內容 。 

variable = field.GetChunk( Size ) 

返回值 

返回變體型。 

參數 

Size 長整型表達式,等于所要檢索的字節或字符數。 

說明 

使用 Field 對象的 GetChunk 方法檢索其部分或全部長二進制或字符數據。 

在系統內存有限的情況下,可使用 GetChunk 方法處理部分而非全部的長整型 

值。 

GetChunk 調用返回的數據將賦給“變量”。如果 Size 大于剩余的數據,則 

GetChunk 僅返回剩余的數據而無需用空白填充“變量”。如果字段為空,則 

GetChunk 方法返回 Null。 

每個后續的 GetChunk 調用將檢索從前一次 GetChunk 調用停止處開始的數 

據。但是,如果從一個字段檢索數據然后在當前記錄中設置或讀取另一個字段 

的值,ADO 將認為已從第一個字段中檢索出數據。如果在第一個字段上再次調 

用 GetChunk 方法,ADO 將把調用解釋為新的 GetChunk 操作并從記錄的起始 

處開始讀取。如果其他 Recordset 對象不是首個 Recordset 對象的副本,則 

訪問其中的字段不會破壞 GetChunk 操作。 

如果 Field 對象的 Attributes 屬性中的 adFldLong 位設置為 True,則可 

以對該字段使用 GetChunk 方法。 

如果在 Field 對象上使用 Getchunk 方法時沒有當前記錄,將產生錯誤 3021 

(無當前記錄)。 

接下來,我們就要來設計我們的數據庫了,作為測試我們的數據庫結構如 

下(Access97): 

字段名稱    類型    描述 

  id    自動編號   主鍵值 

img OLE對象   用來保存圖片數據  



對于在MS SQL Server7中,對應的結構如下: 

字段名稱    類型    描述 

  id     int(Identity) 主鍵值 

img   image     用來保存圖片數據  



現在開始正式編寫我們的純ASP代碼上傳部分了,首先,我們有一個提 

供給用戶的上傳界面,可以讓用戶選擇要上傳的圖片。代碼如下 

(upload.htm): 

<html> 

<body> 

<center> 

   <form name="mainForm" enctype="multipart/form-data" 

action="process.asp" method=post> 

    <input type=file name=mefile><br> 

   <input type=submit name=ok value="OK"> 

   </form> 

</center> 

</body> 

</html> 

注意代碼中黑色斜體的部分,一定要在Form中有這個屬性,否則,將無 

法得到上傳上來的數據。 

接下來,我們要在process.asp中對從瀏覽器中獲取的數據進行必要的處 

理,因為我們在process.asp中獲取到的數據不僅僅包含了我們想要的上傳上來 

的圖片的數據,也包含了其他的無用的信息,我們需要剔除冗余數據,并將處 

理過的圖片數據保存到數據庫中,這里我們以Access97為例。具體代 

碼如下(process.asp): 

<% 

response.buffer=true 

formsize=request.totalbytes 

formdata=request.binaryread(formsize) 

bncrlf=chrB(13) & chrB(10) 

divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) 

datastart=instrb(formdata,bncrlf & bncrlf)+4 

dataend=instrb(datastart+1,formdata,divider)-datastart 

mydata=midb(formdata,datastart,dataend) 



set connGraph=server.CreateObject("ADODB.connection") 

connGraph.ConnectionString="driver={Microsoft Access Driver (*.mdb)};DBQ=" & 

server.MapPath("images.mdb") & ";uid=;PWD=;" 

connGraph.Open 



set rec=server.createobject("ADODB.recordset") 

rec.Open "SELECT * FROM [images] where id is null",connGraph,1,3 

rec.addnew 

rec("img").appendchunk mydata 

rec.update 

rec.close 

set rec=nothing 

set connGraph=nothing 

%> 

好了,這下我們就把上傳來的圖片保存到了名為images.mdb的數據庫中 

了,剩下的工作就是要將數據庫中的圖片數據顯示到網頁上面了。一般在HT 

ML中,顯示圖片都是使用<IMG>標簽,也就是<IMG SRC="圖片路徑">,但 

是我們的圖片是保存到了數據庫中,“圖片路徑”是什么呢?呵呵,其實這個 

SRC屬性除了指定路徑外,也可以這樣使用哦: 

<IMG SRC="showimg.asp?id=xxx"> 

所以,我們所要做的就是在showimg.asp中從數據庫中讀出來符合條件的 

數據,并返回到SRC屬性中就可以了,具體代碼如下(showimg.asp): 

<% 

set connGraph=server.CreateObject("ADODB.connection") 

connGraph.ConnectionString="driver={Microsoft Access Driver (*.mdb)};DBQ=" & 

server.MapPath("images.mdb") & ";uid=;PWD=;" 

connGraph.Open 

set rec=server.createobject("ADODB.recordset") 

strsql="select img from images where id=" & trim(request("id")) 

rec.open strsql,connGraph,1,1 

Response.ContentType = "image/*" 

Response.BinaryWrite rec("img").getChunk(7500000) 

rec.close 

set rec=nothing 

set connGraph=nothing 

%> 

注意在輸出到瀏覽器之前一定要指定Response.ContentType = "image/*", 

以便正常顯示圖片。 

最后要注意的地方是,我的process.asp中作的處理沒有考慮到第一頁 

(upload.htm)中還有其他數據,比如<INPUT type=tesxt name=userid>等等,如果 

有這些項目,你的process.asp就要注意處理掉不必要的數據。 

怎么樣,其實上傳圖片并保存到數據庫很簡單吧,這樣再也不用為自己的 

空間無法使用各類的上傳組件發愁了吧。還等什么?趕快試一試吧。 



(以上所有程序均在WinNT4.0英文版,IIS4,Access97/MS SQL Server7.0中運 

行通過)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人免费网站| 欧美三区在线观看| 欧美乱妇一区二区三区不卡视频| 日韩欧美国产精品一区| 亚洲精品大片www| 激情久久久久久久久久久久久久久久| 国产成人av自拍| 91精品国产麻豆国产自产在线 | 国产成人在线视频网址| 欧美日韩精品一区二区| 中文字幕中文字幕一区| 国产精品伊人色| 日韩三级高清在线| 婷婷综合五月天| 日本高清不卡一区| 国产精品入口麻豆九色| 国产一区二区在线电影| 欧美一区二区三区小说| 亚洲成人动漫av| 色久优优欧美色久优优| 中文字幕在线一区| 国产乱码一区二区三区| 久久综合九色综合欧美就去吻 | 中文字幕中文乱码欧美一区二区| 另类成人小视频在线| 在线综合视频播放| 日本欧美加勒比视频| 欧美揉bbbbb揉bbbbb| 亚洲精品一卡二卡| 91精品91久久久中77777| 亚洲视频 欧洲视频| 91色婷婷久久久久合中文| 久久久九九九九| 成人午夜在线免费| 国产精品麻豆久久久| 成人精品电影在线观看| 亚洲国产岛国毛片在线| 成人国产精品免费观看| 国产精品久久久久影院色老大| 国产成人av在线影院| 国产视频911| 成人免费视频免费观看| 国产精品第13页| 色乱码一区二区三区88| 亚洲成av人片| 日韩欧美在线1卡| 蜜桃精品视频在线| 精品国产精品一区二区夜夜嗨| 韩国午夜理伦三级不卡影院| 国产午夜一区二区三区| 成人av在线资源网站| 1024精品合集| 欧美日韩在线观看一区二区| 日本欧美大码aⅴ在线播放| 337p日本欧洲亚洲大胆精品| 国产91精品一区二区麻豆亚洲| 亚洲欧洲日韩一区二区三区| 欧美区一区二区三区| 激情深爱一区二区| 亚洲日本电影在线| 91精品国产全国免费观看| 国产一区二区不卡| 亚洲女子a中天字幕| 欧美一区二区三区在线看| 精品在线你懂的| 亚洲三级在线免费| 欧美不卡在线视频| 91农村精品一区二区在线| 亚洲电影一区二区三区| 久久亚洲影视婷婷| 色综合久久中文综合久久97 | 91丨九色丨蝌蚪丨老版| 午夜精品在线视频一区| 久久久精品国产99久久精品芒果| 91黄色免费版| 国产精品影视在线| 日韩电影免费在线观看网站| 中文字幕亚洲一区二区va在线| 911精品产国品一二三产区| 成人综合在线观看| 日本三级亚洲精品| 亚洲免费在线播放| 久久久欧美精品sm网站| 欧美色电影在线| 处破女av一区二区| 狠狠久久亚洲欧美| 亚洲动漫第一页| 亚洲另类中文字| 国产午夜精品久久久久久免费视 | 久久久久久免费毛片精品| 欧美天堂一区二区三区| 丁香激情综合国产| 色综合天天性综合| 久久99久久99| 日韩av网站免费在线| 亚洲蜜臀av乱码久久精品| 久久精品欧美日韩| 欧美一区二区国产| 欧美色综合网站| 色综合天天性综合| 成+人+亚洲+综合天堂| 欧美伦理电影网| 日韩一区二区在线观看视频 | 日韩高清在线不卡| 欧美三级韩国三级日本三斤| 成人天堂资源www在线| 99国产精品久久久久久久久久| 91搞黄在线观看| 7777精品伊人久久久大香线蕉 | av亚洲精华国产精华精| 色欧美乱欧美15图片| 欧美视频在线一区二区三区 | 亚洲精品免费看| 亚洲午夜久久久久久久久久久| 日韩不卡手机在线v区| 国产99一区视频免费| 91行情网站电视在线观看高清版| 欧美日韩国产一级| 国产欧美日韩精品在线| 亚洲香蕉伊在人在线观| 狠狠狠色丁香婷婷综合久久五月| 91免费看`日韩一区二区| 日韩一区二区中文字幕| 亚洲欧美日韩在线不卡| 美女看a上一区| 91在线一区二区| 久久免费精品国产久精品久久久久 | 国内精品伊人久久久久av影院| 91久久精品国产91性色tv| 精品日韩欧美在线| 亚洲综合视频在线观看| 国产二区国产一区在线观看| 欧美日韩国产一级二级| 国产精品美女一区二区三区 | 国产片一区二区| 亚洲国产三级在线| 成人av在线看| 日韩一区二区三区观看| 一区二区成人在线视频| 国产精品一区二区x88av| 51久久夜色精品国产麻豆| 亚洲老司机在线| 成人动漫一区二区| 久久蜜桃av一区精品变态类天堂| 亚洲高清视频的网址| 91亚洲精品久久久蜜桃| 国产欧美日韩麻豆91| 日本亚洲一区二区| 5566中文字幕一区二区电影| 亚洲一区二区三区四区五区黄| 成人avav影音| 欧美韩国日本不卡| 国产露脸91国语对白| 精品国产免费久久| 蜜桃免费网站一区二区三区| 欧美精品v国产精品v日韩精品 | 天堂av在线一区| 精品视频一区二区不卡| 亚洲欧美二区三区| gogo大胆日本视频一区| 亚洲国产岛国毛片在线| 大美女一区二区三区| 久久精品亚洲一区二区三区浴池| 久久9热精品视频| 日韩免费福利电影在线观看| 久久精品国产亚洲高清剧情介绍 | 精品99久久久久久| 婷婷国产v国产偷v亚洲高清| 欧美日韩一区三区四区| 一个色在线综合| 欧美三级欧美一级| 天天av天天翘天天综合网 | 美女精品自拍一二三四| 欧美不卡在线视频| 国产精品一区二区三区网站| 国产三级精品视频| 波多野结衣中文字幕一区| 亚洲同性gay激情无套| 色综合久久88色综合天天6| 亚洲尤物视频在线| 欧美电影影音先锋| 激情伊人五月天久久综合| 国产视频911| 91在线观看美女| 亚洲国产中文字幕| 欧美一区二区精美| 国产精品一区二区在线看| 亚洲国产成人私人影院tom| 99久久99久久久精品齐齐| 亚洲一区二区三区影院| 日韩一区二区三区电影在线观看 | 欧美一区二区视频在线观看2022 | 中文字幕免费一区| 97久久精品人人澡人人爽| 亚洲一区二区三区美女| 日韩午夜激情av| 成人免费av网站| 亚洲成人免费电影| 久久精品人人做人人综合| 99精品视频一区二区|