ASP+SQL Server之圖象資料處理 (轉)
+ SERVER之圖象資料處理:namespace prefix = o ns = "urn:schemas--com::office" />
ASP(Active Server Pages)是Microsoft很早就推出的一種應用解決方案,也是絕大多數從事網站開發人員很熟悉的一個比較簡單的環境。透過ASP我們可以建立功能強大的動態的WEB應用程式。ASP雖然功能很強大,但有些功能用純ASP程式碼完成不了,為了能保證開發出功能更加強大的WEB應用程式,我們可以藉助COM。
在日常工作中,例如開發一個“商品網上銷售”吧,為了使顧客對商品的外觀有所瞭解,也就是顧客在看商品的文字介紹的同時在文字的旁邊有該商品的圖片加以說明,這樣顧客就可以對該商品有個系統的瞭解,對推銷商品有很大的幫助。所以我們在開發系統時當然就要加入圖片處理模組,即如何把圖片到(圖片可以放在WEB伺服器上某一個夾裡也可以放在伺服器裡)和如何讓上傳的圖片在端顯示出來,這都是開發人員要考慮到的問題。
上傳圖片到伺服器有多種方法,可以使用檔案上傳元件也可以使用純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物件。
● 語法
.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 ntity(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=Mi(ImageData, Dstart, Dend)
‘建立物件例項
Set imgConn=Server.CreateObject(“ADODB.Connection”)
StrConn=”={SQL Server};Server=ServerName;”& _
“Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName”
imgConn.open strConn
Set Rs= Server.CreateObject(“ADODB.RecordSet”)
Sql=” * 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上傳圖片的原理和示例都講完了,有什麼不妥的地方請各位指正,謝謝!同時希望本文能夠確實能為需要這方面幫助的網友提供實質性的幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-963491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常用的圖象處理函式的整理 (轉)函式
- 圖象處理常用特效演算法特效演算法
- 海量資料處理 (轉)
- 處理圖片流資料
- 使用JDOM處理XML資料之PDF篇(二) (轉)XML
- 使用JDOM處理XML資料之PDF篇(一) (轉)XML
- 資料處理及跳轉
- SQL Server雨情處理自動補資料SQLServer
- 用SQL Server資料庫處理資料層錯誤SQLServer資料庫
- 資料處理之去除重複資料
- 20 個強大圖象處理功能的 SVG 工具SVG
- 使用JDOM處理XML資料之XSLT篇(二) (轉)XML
- 使用JDOM處理XML資料之XSLT篇(一) (轉)XML
- 利用索引提高SQL Server資料處理的效率索引SQLServer
- FreeBSD資料處理方式(轉)
- 機器學習導圖系列(1):資料處理機器學習
- SQL Server 2005對海量資料的處理SQLServer
- 資料處理之欄位合併
- 資料預處理之 pandas 讀表
- SpringMVC:資料處理及跳轉SpringMVC
- Delphi資料壓縮處理(1) (轉)
- Delphi資料壓縮處理(2) (轉)
- Python資料處理(二):處理 Excel 資料PythonExcel
- Tableau——資料前處理、折線圖、餅圖(環形圖)
- 資料處理
- 多行資料的批處理之bulk collect
- 資料庫優化之表碎片處理資料庫優化
- 圖形影像處理之簡單圖片
- 圖形影像處理之繪圖基礎繪圖
- 玩轉大資料系列之二:資料分析與處理大資料
- 資料處理,會“說話”的大機器——資料資訊圖
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- 大資料爭論:批處理與流處理的C位之戰大資料
- 圖象扭曲演算法 (轉)演算法
- (十三)資料庫查詢處理之QueryExecution(2)資料庫
- Sklearn之資料預處理——StandardScaler歸一化
- OCP課程16:SQL之處理大資料SQL大資料
- 資料預處理