List:MySQL on Win32« Previous MessageNext Message »
From:Peter Carter Date:July 9 1999 2:06pm
Subject:Re: import image files
View as plain text  
At 02:30 PM 7/8/99 -0500, you wrote:
>Peter,
>         Still having problems getting the ASP MySql image import/export to
>work...if you still have the patience for this I would certainly appreciate
>your looking at the following code (my boss is about to kill me):
>
>--------- code starts -----------
>
>Set Objfilesys = Server.CreateObject("Scripting.FileSystemObject")
>Set ipfile = Objfilesys.OpenTextfile("c:\inetpub\wwwroot\admin\tne4.gif")
>giftext = mysqlstringconvert(ipfile.readall)
>
>
>rem At this point the variable giftext should contain the gif
>(mysqlstringconvert is a function to escape chr(0) rem and quotes and double
>quotes.)
>rem If I then:
>
>Set Connection = Server.CreateObject("ADODB.Connection")
>Set RS = Server.CreateObject("ADODB.Recordset")
>Connection.Open
>"driver={MySql};server=dbserver;database=admin;uid=adminuser;pwd=pword"
>
>Connection.Execute("insert gifdb set gifid='gif52', gif='" + giftext + "'" )
>Set rs = Connection.Execute("select * from gifdb where gifid = 'gif52'")
>response.contenttype = "image/GIF"
>response.binarywrite rs("gifs")
>
>------------ code ends ----------------------
>
>I get a broken image.....any thoughts/suggestions/help would be appreciated.
>
>Ben
>
>
Don't escape a binary image using the text style escape sequences. Bad
things happen.

Use this instead for your insert statement.....

Connection.Execute("insert gifdb set gifid='gif52', gif=0x" +
ProcessHex(giftext))

Where, in VB I use.....

Private Function ProcessHex(D As Variant) As String
    Dim Buffer() As Byte
    Dim PH As String
    Dim Count As Long
    
    Buffer = D
    PH = String(UBound(Buffer) + 1, "0")
    For Count = LBound(Buffer) To UBound(Buffer) Step 2
        Mid(PH, Count + 1, 2) = Right("0" & Hex(Buffer(Count)), 2)
        Next
    ProcessHex = PH
End Function 

This passes the gif to the MySql server in a way that none of the data gets
corrupted by translation loss. This is what I use, it works very well. It
should be easy to convert the above routine into script.

I have a question though... Why not just use the dll's created by DBWiz? It
takes care of all that for you.....

Let me know how it works out.....

---
Peter B. Carter (peterc@stripped)
Pager: 613-751-4660
http://www.pbc.ottawa.on.ca

Flames are a waste of cyberspace, don't bother.......

Thread
Re: import image filesPeter Carter9 Jul