六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ASP+SQL Server之圖象數據處理

[摘要]ASP(Active Server Pages)是Microsoft很早就推出的一種WEB應用程序解決方案,也是絕大多數從事網站開發人員很熟悉的一個比較簡單的編程環境。通過ASP我們可以創建功能強大的動態的WEB應用程序。ASP雖然功能很強大,但有些功能用純ASP代碼完成不了,為了能保證開發出功能...

ASP(Active Server Pages)是Microsoft很早就推出的一種WEB應用程序解決方案,也是絕大多數從事網站開發人員很熟悉的一個比較簡單的編程環境。通過ASP我們可以創建功能強大的動態的WEB應用程序。ASP雖然功能很強大,但有些功能用純ASP代碼完成不了,為了能保證開發出功能更加強大的WEB應用程序,我們可以借助調用COM組件。

在日常工作中,例如開發一個“商品網上銷售系統”吧,為了使顧客對商品的外觀有所了解,也就是顧客在看商品的文字介紹的同時在文字的旁邊有該商品的圖片加以說明,這樣顧客就可以對該商品有個系統的了解,對推銷商品有很大的幫助。所以我們在開發系統時當然就要加入圖片處理模塊,即如何把圖片上傳到服務器(圖片可以放在WEB服務器上某一個文件夾里也可以放在SQL Server服務器里)和如何讓上傳的圖片在瀏覽器端顯示出來,這都是開發人員要考慮到的問題。

上傳圖片到服務器有多種方法,可以使用文件上傳組件也可以使用純ASP代碼來實現。在CSDN的WEB版ASP上經常有網友問這樣的問題“如何利用ASP把圖片上傳到數據庫里”,為了方便CSDN需要了解這方面的知識,這篇文章將詳細講解使用ASP上傳圖片的做法并給出代碼,以饗讀者。

首先了解一下在程序中用到的各種對象及其語法:

1)  Request.BinaryRead()方法

●      使用Request.BinaryRead()方法可以獲取提交的文件數據

●      語法

VarReValue= Request.BinaryRead(number)

變量VarReValue返回值保存從客戶端讀取到的二進制數據;

參數number指明要從客戶端讀取的二進制數據量的大小。

2)  Response.BinaryWrite()方法

●      使用Response.BinaryWrite()方法可以從數據庫中獲取圖片數據并顯示到客戶端的瀏覽器中。

●      語法

Response.BinaryWrite data

參數data是要寫進客戶端瀏覽器中的二進制數據包。

3)  AppendChunk方法

●      AppendChunk方法的作用是將二進制數據追加到Field或Parameter對象。

●      語法

object.AppendChunk data

參數data為要追加到Field或Parameter對象中的數據包。

4)  GetChunk方法

●      GetChunk方法返回二進制數據的內容。

●      語法

object. GetChunk(size)

參數size指明要返回二進制數據的長度,可以是長整型表達式。

5)  Request.TotalBytes方法

●      Request.TotalBytes方法返回從客戶端讀取到的數據的字節數,這個值跟上面所提到的number相對應,可以大于或等于number值。

●      語法

number= Request.TotalBytes

大體了解了一些方法及其使用方法后,接下來我們就開始設計數據庫和相關編寫代碼了。

第一步:數據庫的設計(以Ms SQL Server7為例):

Create table img       --創建用來存儲圖片的表,命名為img

(

id int identity(1,1) not null,

img image

)

第二步:程序編寫,其中省略了用戶輸入界面,這里只給出很重要的兩個文件即圖片上傳處理(processimg.asp)和顯示圖片(ShowImg.asp)文件。

1)  processimg.asp文件代碼:

<%

Response.Buffer=True

ImageSize=Request.TotalBytes                ‘獲取提交數據量的總字節數

ImageData=Request.BinaryRead(ImageSize)     ‘保存從客戶端讀取到的數據

‘優化讀取到的二進制數據

BnCrLf=chrB(13)&chr(10)

Divider=LeftB(ImageData,Clng(InstrB(ImageData, BnCrLf))-1)

Dstart=InstrB(ImageData, BnCrLf& BnCrLf)+4

Dend=InstrB(Dstart+1, ImageData, Divider)- Dstart

MyData=MidB(ImageData, Dstart, Dend)

‘創建對象實例

Set imgConn=Server.CreateObject(“ADODB.Connection”)

StrConn=”Driver={SQL Server};Server=ServerName;”& _

        “Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName”

imgConn.open strConn

Set Rs= Server.CreateObject(“ADODB.RecordSet”)

Sql=”Select * From img Where id is null”

Rs.open sql,imgConn,1,3

‘追加數據到數據庫

Rs.AddNew

Rs(“img”).AppendChunk myData

Rs.Update

‘關閉和釋放對象

Rs.close

ImgConn.close

Set Rs=Nothing

Set ImgConn=Nothing

%>

2) ShowImg.asp文件代碼:

<%

Response.Expires = 0

Response.buffer=True

Response.clear

‘創建對象實例

Set imgConn=Server.CreateObject(“ADODB.Connection”)

StrConn=”Driver={SQL Server};Server=ServerName;”& _

        “Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName”

imgConn.open strConn

Set Rs= Server.CreateObject(“ADODB.RecordSet”)

Sql=”Select img From img Where id=1”    這里的id可以使用Request(“id”)獲得

Rs.open sql,imgConn,1,1

Response.ContentType=”image/*”

Response.BinaryWrite Rs.(“img”).GetChunk(7500000)

‘關閉和釋放對象

Rs.close

ImgConn.close

Set Rs=Nothing

Set ImgConn=Nothing

%>

 

至此,本文對如何使用ASP上傳圖片的原理和示例都講完了,有什么不妥的地方請各位指正,謝謝!同時希望本文能夠確實能為需要這方面幫助的網友提供實質性的幫助。

 




主站蜘蛛池模板: 亚洲精品视频免费观看 | 欧美午夜性春猛xxxx | 在线观看欧美日韩 | 亚洲一区二区三区在线免费观看 | 日本五级床片在线观看 | 热re99久久国产精品 | 日本精品a在线观看 | 欧美在线观看网站 | 特级aaa片毛片免费观看 | 青青啪| 最近新韩国日本免费看 | 天天色天天草 | 日韩在线国产精品 | 天天干天天上 | 欧美我不卡 | 午夜在线精品不卡国产 | 欧美特黄a级高清免费看片 欧美特黄a级高清免费大片 | 青青草视频黄色 | 又粗又硬又爽的三级视频在线观看 | 在线观看午夜视频 | 亚洲精品乱码久久久久久中文字幕 | 特级黄视频 | 日韩免费不卡视频 | 日韩视频第二页 | 日韩在线免费视频 | 中文字幕第30页 | 十八成人网 | 午夜免费网站 | 日韩三级免费看 | 午夜视频在线观看完整版 | 色网站网址 | 四虎影视国产精品永久在线 | 四虎影院大全 | 欧洲亚洲一区 | 欧美怡红院免费的视频 | 鸥美性生交xxxxx久久久 | 日本男女动态图 | 中文字幕午夜乱理片 | 人人干狠狠操 | 无声在线完整版免费观看 | 在线观看亚洲国产 |