Avatar billede hemberg Forsker
23. juli 2005 - 15:38 Der er 9 kommentarer og
1 løsning

Hent binære data fra access

Hej alle sammen,

Har lavet en access db med et felt hvor billeder kan gemmes binært som OLE-Objekter.

Se: http://www.aspupload.com/manual_db.html under afsnittet [ODBC-based File Uploads].

Hvordan trækkes disse data ud igen.

Har prøver den sædvanlige response.write rs2("image_blop"). Men den skriver selvfølgelig bare den binære kode. Hvordan trækkes billedet ud igen ??

Mvh Mig
Avatar billede busschou Praktikant
23. juli 2005 - 15:48 #1
se evt her
http://activedeveloper.dk/artikler/default.asp?articleid=144
Der benyttes content type for at fortælle hvad den binære strøm består af, samt response.binarywrite
:o)
Avatar billede hemberg Forsker
23. juli 2005 - 17:43 #2
Ok. Disse parametre er nu på plads. Men det gir' stadigvæk kun de binære koder.

Hvorfor?

Jeg kan desværre ikke bruge ovenstående script da det ikke er det komponenet der er installeret på serveren.


response.ContentType ="image/gif"
Response.BinaryWrite rs2("Image_Blob")
Avatar billede busschou Praktikant
23. juli 2005 - 17:51 #3
ok det troede jeg var meningen med Response.BinaryWrite :o/
og hvis det ikke virker så kan jeg ikke se hvordan man så skal gøre
--
Dog vil jeg foreslå dig at overveje at gemme stien til billedet frem for selve billedet
Der har været en del debatter herinde omkring det at gemme selve billedet i databasen, uanset om dette var access, mysql, osv
De fleste finder nemlig ud af at det sløver databasen
Men afhængig af hvad du skal bruge det til så er det selvfølgelig op til dig :o)
Avatar billede busschou Praktikant
23. juli 2005 - 17:53 #4
På det link du har givet står der jo rent faktisk en metode til at vise billedet med response.binarywrite !
Allernederst på siden
Avatar billede busschou Praktikant
23. juli 2005 - 17:56 #5
Der står også en advarsel om at man ikke må have indeholdt noget som helst html, men kun asp på den side hvor billedet skal vises. Det skyldes sikkert at man sender en header og contenttype som så ellers laver ged i den måske....
Avatar billede hemberg Forsker
23. juli 2005 - 17:59 #6
Ikke i forhold til den link du sendte:

' Denne kode fremviser den ønskede fil
  strSQL = "SELECT Image_Type, Image_Data FROM Images WHERE (ImageID = " & intID & ");"
  Set rs = myConn.Execute(strSQL)
  If Not rs.EOF Then
    Response.ContentType = rs("Image_Type")
    Response.BinaryWrite rs("Image_Data")


Virker bare ikke ved mig. Mangler lidt gode trix
Avatar billede busschou Praktikant
23. juli 2005 - 18:02 #7
yup
Dit link siger man skal lave følgende download.asp:
---
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open Connect
SQL = "SELECT * FROM MYIMAGES where id = " & Request("id")
Set rs =db.Execute( SQL )
Response.ContentType = "application/octet-stream"
' let the browser know the file name
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("filename"))
' let the browser know the file size
Response.AddHeader "Content-Length", rs("filesize")
Response.BinaryWrite rs("image_blob")
%>
--
og så at man skal lave billedet sådan her, hvor id refererer til id´et i databasen
--
<IMG SRC="download.asp?id=3">
--
har du prøvet det?
Avatar billede hemberg Forsker
23. juli 2005 - 18:50 #8
Ok. tror det virker nu. Havde kun fanget at den kunne exportere billeder. Havde ikke lige set <IMG SRC .
Avatar billede busschou Praktikant
23. juli 2005 - 18:52 #9
oki :o) så må jeg hellere lægge et svar ? ;o)
Avatar billede thesurfer Nybegynder
24. juli 2005 - 18:22 #10
Husk altid at validere request.querystring("id"), og sikre dig/jer at det findes i databasen (error-handling)..

PS: Det er bedre at skrive request.querystring, når det er urlen i bruger.. og request.form, når man bruge en form.. ellers skal den til at søge i url, form, sessions, osv..

/theSurfer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester