亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

從Access數據庫恢復BMP圖像并顯示在WEB頁面(microsoft)

2019-11-18 22:30:21
字體:
來源:轉載
供稿:網友
HOWTO: Retrieving Bitmap from access and Displaying In Web Page

--------------------------------------------------------------------------------
The information in this article applies to:

Active Server Pages
Microsoft Visual Basic PRofessional and Enterprise Editions for Windows, versions 5.0, 6.0
ActiveX Data Objects (ADO), versions 1.0, 1.5, 2.0, 2.1 SP2, 2.5
Microsoft Internet Information Server versions 4.0, 5.0
Microsoft Data Access Components version 2.5

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


SUMMARY
This article shows by example how to extract the bitmap photos in the Microsoft Access 97 Northwind.mdb
database, and view them from a Web browser using Active Server Pages (asp). In order to accomplish this
task, an ActiveX DLL must be created that strips the Access and OLE headers from the field. This article
shows how to create this ActiveX DLL, and how to implement it.



MORE INFORMATION
WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this
code "as is" without warranty of any kind, either express or implied, including but not limited to the
implied warranties of merchantability and/or fitness for a particular purpose.

This article demonstrates how to use Visual Basic to retrieve a bitmap stored in an OLE Object field.
Because the definition of OLE object storage is not documented, the following code searches the object's
OLE header for characters consistent with the start of the graphic. This method may not work in all
circumstances.

Be aware that Internet Explorer 3.0 is unable to display true color bitmaps. For this reason, the bitmaps
stored in the Access database should be no higher than 256 colors.

Step-by-Step Example to Extract the Photos
Create a new project in Visual Basic and make the project an ActiveX DLL.


Add a reference to ActiveX Data Objects (ADO) by clicking the Project menu and selecting References.
Select "Microsoft OLE DB ActiveX Data Objects 1.0 Library" and click OK.


Add a new module to the project by selecting the Project menu and clicking Add Module. Select Module and
click Open.


Place the following code in the (general) (declarations) section of MODULE1.BAS:

      ' Enter the following Declare statement as one single line:
      Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
       (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)

      Type PT
        Width As Integer
        Height As Integer
      End Type

      Type OBJECTHEADER
        Signature As Integer
        HeaderSize As Integer
        ObjectType As Long
        NameLen As Integer
        ClassLen As Integer
        NameOffset As Integer
        ClassOFfset As Integer
        ObjectSize As PT
        OleInfo As String * 256
      End Type



Place the following code in the (general) (declarations) section of CLASS1.CLS:

        Function DisplayBitmap(ByVal OleField As Variant)
        Dim Arr() As Byte
        Dim ObjHeader As OBJECTHEADER
        Dim Buffer As String
        Dim ObjectOffset As Long
        Dim BitmapOffset As Long
        Dim BitmapHeaderOffset As Integer
        Dim ArrBmp() As Byte
        Dim i As Long

        'Resize the array, then fill it with
        'the entire contents of the field
        ReDim Arr(OleField.ActualSize)
        Arr() = OleField.GetChunk(OleField.ActualSize)

        'Copy the first 19 bytes into a variable
        'of the OBJECTHEADER user defined type.
        CopyMemory ObjHeader, Arr(0), 19

        'Determine where the Access Header ends.
        ObjectOffset = ObjHeader.HeaderSize + 1

        'Grab enough bytes after the OLE header to get the bitmap header.
        Buffer = ""
        For i = ObjectOffset To ObjectOffset + 512
            Buffer = Buffer & Chr(Arr(i))
        Next i

        'Make sure the class of the object is a Paint Brush object
        If Mid(Buffer, 12, 6) = "PBrush" Then
            BitmapHeaderOffset = InStr(Buffer, "BM")
            If BitmapHeaderOffset > 0 Then

                'Calculate the beginning of the bitmap
                BitmapOffset = ObjectOffset + BitmapHeaderOffset - 1

                'Move the bitmap into its own array
                ReDim ArrBmp(UBound(Arr) - BitmapOffset)
                CopyMemory ArrBmp(0), Arr(BitmapOffset), UBound(Arr) -
                 BitmapOffset + 1

                'Return the bitmap
                DisplayBitmap = ArrBmp
            End If
        End If
      End Function



Rename the Project by selecting the Project menu, and clicking on "Project1 Properties" and type your new
name in the "Project Name" field. This example assumes that you named the project "MyProject" and will
refer to that name in future steps.


Make the project Apartment Model Threaded by selecting the "Unattended Execution" check box. Click OK.


Rename the Class in the Property Pane. This example assumes that you named the class "MyClass" and refers
to that name in future steps.


Compile the DLL by clicking the File menu and selecting "Make MyProject.dll."


Create an ASP page named "bitmap.asp" that contains the following code:

      <%@ LANGUAGE="VBSCRIPT" %>
      <%
      '   You need to set up a System DSN named 'NWind' that points to
      '   the Northwind.mdb database
      Set DataConn = Server.CreateObject("ADODB.Connection")
      DataConn.Open "DSN=NWind", "admin", ""
      Set cmdTemp = Server.CreateObject("ADODB.Command")
      Set RS = Server.CreateObject("ADODB.Recordset")
      cmdTemp.CommandText = "SELECT Photo FROM Employees
        WHERE EmployeeID = 1"
      cmdTemp.CommandType = 1
      Set cmdTemp.ActiveConnection = DataConn
      RS.Open cmdTemp, , 0, 1
      Response.ContentType = "image/bmp"
      Set Bitmap = Server.CreateObject("MyProject.MyClass")
      Response.BinaryWrite Bitmap.DisplayBitmap(RS("Photo"))
      RS.Close
      %>



Create an HTML page named "BitmapTest.htm" that contains the following code:

      <HTML>
      <HEAD>
      <TITLE>Bitmap Test</TITLE>
      </HEAD>
      <BODY>
      <HR>
      <img src="Bitmap.asp">
      <HR>
      </BODY>
      </HTML>



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国外成人在线视频| 欧美美女操人视频| 国产精品亚洲激情| 日韩www在线| 亚洲人成毛片在线播放| 97精品久久久中文字幕免费| 91精品久久久久久久久久久| 91久久精品国产91久久| 啪一啪鲁一鲁2019在线视频| 亚洲片在线观看| 精品人伦一区二区三区蜜桃网站| 久久久精品久久久久| 国产亚洲精品久久久久久777| 日韩欧美在线中文字幕| 国产精品美腿一区在线看| 亚洲一区二区三区在线视频| 国产婷婷97碰碰久久人人蜜臀| 日韩电影免费观看中文字幕| 日本成熟性欧美| 国产玖玖精品视频| 在线免费看av不卡| 欧美性xxxxx极品娇小| 亚洲免费人成在线视频观看| 欧美与欧洲交xxxx免费观看| 日韩精品在线视频美女| 欧美激情伊人电影| 日韩成人在线免费观看| 在线观看中文字幕亚洲| 亚洲国产欧美自拍| 91国内在线视频| 国产成人中文字幕| 欧美一二三视频| 91情侣偷在线精品国产| 久久久久免费视频| 精品爽片免费看久久| 庆余年2免费日韩剧观看大牛| 欧美成人精品三级在线观看| 亚洲国产精品va在线| 亚洲午夜未满十八勿入免费观看全集| 成人a在线视频| 亚洲成人xxx| 庆余年2免费日韩剧观看大牛| 亚洲男人的天堂在线| 亚洲第一视频网| 精品国产乱码久久久久久虫虫漫画| 亚洲欧美日韩中文在线制服| 亚洲男人天天操| 欧美精品videofree1080p| 国产午夜精品美女视频明星a级| 亚洲精品电影网在线观看| 日本中文字幕成人| 国产91免费看片| 国产精品国内视频| 国模叶桐国产精品一区| 久久久久成人精品| 国产精品大陆在线观看| 久久99热这里只有精品国产| 久久69精品久久久久久国产越南| 国产精品久久久久久久久| 亚洲r级在线观看| 国产精品视频中文字幕91| 一区二区三区无码高清视频| 国产成人鲁鲁免费视频a| 久久精品国产99国产精品澳门| 欧美精品一区二区三区国产精品| 久久99热这里只有精品国产| 亚洲理论在线a中文字幕| 国产精品海角社区在线观看| 国产91精品黑色丝袜高跟鞋| 午夜精品久久久久久久久久久久| 国产视频久久久久| 国产亚洲欧美aaaa| 91精品国产自产在线老师啪| 精品一区二区三区电影| 日韩三级影视基地| 欧美日韩国产区| 国产精品白丝av嫩草影院| 5252色成人免费视频| 91免费观看网站| 韩国美女主播一区| 亚洲精品欧美日韩专区| 国产精品久久不能| 欧美亚洲国产日本| 国产精品一区二区三区久久| 中日韩美女免费视频网站在线观看| 欧美一区二区.| 中文字幕一区电影| 亚洲欧美成人在线| 中文字幕九色91在线| 欧美性在线观看| 国产成人久久久| 亚洲视频免费一区| 色偷偷888欧美精品久久久| 国产小视频91| 亚洲人成网站在线播| 日韩中文字幕av| 69久久夜色精品国产7777| 17婷婷久久www| 国产一区av在线| 高清欧美性猛交xxxx黑人猛交| 97视频免费在线观看| 欧美一级淫片播放口| 亚洲欧美综合另类中字| 91国偷自产一区二区三区的观看方式| 欧美又大又硬又粗bbbbb| 欧美日韩美女视频| 国产精品久久久久久亚洲调教| 97精品国产97久久久久久| 中文字幕日韩av综合精品| 欧美性xxxx极品高清hd直播| 国产精品99久久久久久白浆小说| 中文字幕亚洲激情| 国产精品高精视频免费| 日韩在线高清视频| 亚洲人精品午夜在线观看| 久久不射电影网| 中文字幕久精品免费视频| 欧美精品国产精品日韩精品| 1769国内精品视频在线播放| 欧美资源在线观看| 日韩欧美国产高清91| 一本一本久久a久久精品牛牛影视| 亚洲国产精品久久久久秋霞不卡| 国产黑人绿帽在线第一区| 精品久久香蕉国产线看观看gif| 国产国产精品人在线视| 欧美在线视频免费播放| 日韩免费av在线| 国产精品影片在线观看| 亚洲色图在线观看| 国产精品白丝jk喷水视频一区| 亚洲国产精品人久久电影| 性日韩欧美在线视频| 亚洲精品国精品久久99热| 91久久在线播放| 国产精品高清免费在线观看| 国产精品福利片| 亚洲精品日韩丝袜精品| 岛国精品视频在线播放| 欧美一级免费看| 4438全国成人免费| 欧美精品在线极品| 亚洲经典中文字幕| 国产在线98福利播放视频| 国产欧美一区二区三区在线看| 日韩av影视在线| 日韩成人在线免费观看| 国产欧美一区二区三区视频| 欧美精品电影在线| 欧美一区二区大胆人体摄影专业网站| 日韩在线精品一区| 亚洲久久久久久久久久久| 九九精品视频在线| 国产一区二区三区直播精品电影| 日韩在线视频二区| 亚洲黄色av女优在线观看| 成人网在线免费观看| 秋霞午夜一区二区| 在线成人免费网站| 亚洲国产中文字幕久久网| 亚洲欧美国产精品va在线观看| 成人a在线视频| 日韩视频免费观看| 亚洲欧美另类人妖|