变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置:首頁文章首頁 IT學院 IT技術

關于ASP中從ACCESS數據庫中讀取images的方法分享

作者:  來源:  發布時間:2011-6-9 15:30:08  點擊:

本文主要跟大家分享介紹的是ASP程序如何從ACCESS數據庫中讀取圖形,希望對大家有用。

如何從ACCESS數據庫中讀取images

  1。ACCESS和FoxPro數據庫中的圖形格式

  當瀏覽器遇到一個<IMG>標志時,它會根據你設定的src屬性來下載文件。這可能是一個圖形文件或則是一個ASP頁面。如果是一個返回gif二進制的ASP頁面,瀏覽器需要知道返回的是什么格式的圖形文件,因為這個原因,就需要指定content type,為image/gif,image/bmp,image/jpeg或則其他什么的。

   Response.contentType = "image/gif"

  但這會導致另外一個問題,那就是我們只能夠顯示gif格式的圖象,或則說保存在數據庫中的東西只能夠是gif格式的了。但是一些數據庫是使用gif格式保存的,但是另外一些則是使用jpeg格式保存的,甚至其他是采用OLE方式來保存圖形的。所以我們必須根據圖形的格式來設置response的content type.

  注意的是你也可以從一個文件中新建一個位圖對象,但使用這樣的方式保存在數據庫中的圖形格式是瀏覽器不能夠識別的。當你往數據庫中保存圖象時,你應該知道你需要使用什么格式來保存,你可以把文件中的每一個字節保存下來,或則通過ACCESS/Foxpro的把圖形保存為一個OLE格式。

  你使用什么格式保存圖象決定了你在ASP中用什么格式來讀出圖形來。具體來說,如果你在ACCESS/FoxPro中將圖形保存為bmp,gif,jpeg(這個必須要使用到ACCESS/FoxPro的OLE對象,即使用ACCESS的插入對象對話框來完成),這是當你使用image/bmp時瀏覽器是不能夠解釋的。

  現在假設在數據庫中保存的是你所想要的圖形格式(GIF, JPEG, BMP, TIFF, 等)現在來看看要怎么把它們從數據庫中讀出來。

  在ACCESS中使用了兩個關鍵的技術來保存圖形

  1。使用了bmp格式

  2。78個字節的文件頭

   <%
       response.Expires = 0
       response.Buffer  = True
       response.Clear
       response.contentType = "image/bmp"
   %>

  接著你要干的就是去掉那78個字節的OLE對象的文件頭。

   <%
       Const OLEHEADERSIZE = 78
       nFieldSize = rs("photo").ActualSize
       oleHeader = rs("photo").GetChunk(OLEHEADERSIZE)
       imageBytes = rs("photo").GetChunk(nFieldSize - OLEHEADERSIZE)
       Response.BinaryWrite imageBytes
   %>

  現在舉一個例子:

  如果你要得到一個職工的信息,這段信息包括一個介紹和他的圖象。并且要同時顯示文字和圖形。代碼如下:(其中的theImg是一個代理頁面)

  theImg.asp

   <%
       response.Expires = 0
       response.Buffer  = True
       response.Clear
       response.contentType = Session("ImageType")
       response.BinaryWrite Session("ImageBytes")
       Session("ImageType") = ""
       Session("ImageBytes") = ""
       response.End
   %>
   Function SetImageForDisplay(field, contentType)
       OLEHEADERSIZE = 78   
       contentType = LCase(contentType)
       select case contentType
           case "gif", "jpeg", "bmp"
              contentType = "image/" & contentType
              bytes = field.value
           case "ole"
              contentType = "image/bmp" 
              nFieldSize = field.ActualSize
              oleHeader = field.GetChunk(OLEHEADERSIZE)
              bytes = field.GetChunk(nFieldSize - OLEHEADERSIZE)
       end select
       Session("imageBytes") = bytes
       Session("imageType") = contentType
   End Function
'注意的是,程序中只使用了4中格式:gif, jpeg, bmp , ole . 

   <%
      sql = "select * from Employees"
      Set oRS = Server.CreateObject("ADODB.Recordset")
      oRS.CursorLocation = 3
      oRS.Open sql, "DSN=NW"
      SetImageForDisplay oRS("photo"), "ole"
      Set oRS.ActiveConnection = Nothing
   %>

  要顯示圖象的話,只需要在另外一個asp中,假設為getEmpInfo.asp中

   <img src="theImg.asp"</img>

  但這還有一個問題,因為對每個職工的圖形都使用了同一個"theImg.asp"文件,應該再小小修改一下:

   <img src="theImg.asp?temp=<%= Request.Form("empLastName")%>"</img>

相關軟件

相關文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 级毛片久久久毛片精品毛片 | 久久爰www免费人成 久久在现 | 视频精品一区二区三区 | 亚洲欧美日韩在线一区 | 韩国伦理中文 | 日韩二区 | 中文字幕第5页 | 黄色小说软件 | 亚洲 中文 欧美 日韩 在线 | 欧美日韩在线亚洲国产人 | 国产精品不卡视频 | 高清欧美在线三级视频 | 91日本在线观看亚洲精品 | 日本欧美国产 | 黄色网址在线免费观看 | 日韩成人av在线 | 午夜影院操一 | 成人欧美一区二区三区黑人免费 | 成年人在线播放视频 | 中文字幕精品一区二区日本 | 国产午夜影院 | 亚洲人人看 | 91精品国产免费自在线观看 | 高清欧美一区二区免费影视 | 亚洲 欧美 字幕 一区 在线 | 亚洲一区色 | 乳欲性高清在线 | 一区二区三区中文国产亚洲 | 久久久亚洲欧洲日产国码二区 | 天天干视频在线观看 | 精品国产一区二区二三区在线观看 | 久操成人 | 日日插天天操 | 香蕉视频破解 | 成人免费在线观看网站 | 成年男女免费大片在线观看 | 波多野结中文字幕在线69视频 | 中文字幕日本一区波多野不卡 | 一区二区不卡在线 | 国产精品美女视视频专区 | 一道本高清香蕉网 |