Avatar billede tofferman Nybegynder
23. juli 2002 - 00:47 Der er 30 kommentarer og
3 løsninger

Indsætte billede fra Access-database.

Hejsa.
Jeg er ved at træde mine første skridt med asp.

Jeg har en database med nogle vareoplysninger. Jeg kan godt trække varenumre, beskrivelse, pris osv. ud, og vise dem på en side. Men jeg har også nogle fotos liggende i databasen, som jeg gerne vil have frem.

hvordan gør man det?? (hvis det overhovedet kan lade sig gøre...)
Avatar billede medions Nybegynder
23. juli 2002 - 00:48 #1
Ligger billederne i databasen, eller er det stien/navnet du har på dem?

//>Rune
Avatar billede esoulman Nybegynder
23. juli 2002 - 00:48 #2
Ville det ikke være bedre hvis du lagde billed filerne i en separat mappe og så indtastede filnavnene i databasen i stedet? Det vil mindske din databases størrelse betydeligt.
Avatar billede tofferman Nybegynder
23. juli 2002 - 00:50 #3
De ligger i varetabellen, hvor feltet har datatypen OLE-objekt.

Og jo, jeg kunne godt lægge filerne ud i en separat mappe, men det ville være smart for ham som skal opdatere varetabellen at de ligger netop i tabellen.
Avatar billede sesam Nybegynder
23. juli 2002 - 00:50 #4
Du gemmer navnet på billdet og piller det ud som du gør med de andre poster.
Hvis dbilledet ligge i mappen images gøres det sådan her.

<IMG SRC="images/<%=rs("image")%> size="xxx" border="0">
Avatar billede tofferman Nybegynder
23. juli 2002 - 00:51 #5
medions > Det var da ikke et svar.
Avatar billede tofferman Nybegynder
23. juli 2002 - 00:55 #6
sesam > Vil det sige, at hvis jeg har min database med billederne liggende i en mappe der hedder /db/ , og feltet i tabellen hedder "billede" skal jeg skrive sådan her:

<IMG SRC="<%=rs("billede")%>>

...hvis vi lige ser bort fra dimensionerne i første omgang.
Avatar billede medions Nybegynder
23. juli 2002 - 00:55 #7
tofferman> Sorry, det er bare fordi det er blevet en vane at klikke på svar :-) Sorry!

//>Rune
Avatar billede sesam Nybegynder
23. juli 2002 - 00:57 #8
Ja
Avatar billede medions Nybegynder
23. juli 2002 - 00:59 #9
tofferman> Du kan fx. gøre som følgende:
1) Opret en kolonne i din tabel du kalder for "filnavn" -her i skriver du navnet på din fil, altså fx. blomster.gif
2) Laver en connection med et udtræk til dine billeder, fx:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")
strSQL = "SELECT * FROM billeder"
Set objRs = objConn.Execute(strSQL)
%>
<img src="billeder/<% Response.Write(objRs("filnavn")) %>">

//>Rune
Avatar billede medions Nybegynder
23. juli 2002 - 01:00 #10
Med mit eksempel skal du så ligge alle dine bileder i en mappe der hedder "billeder" i dit root bibliotek...

//>Rune
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:07 #11
Hmm...Har stadig problemer. Her er lige en stump fra koden:

varenummer=rs("produktnummer")
varenavn=rs("produktnavn")
varebeskrivelse=rs("beskrivelse")
levering=rs("leveringstid")
pris=rs("pris")
billede=rs("billede")

response.write"<p><font color=" & farve & ">" & varenummer & " " & varenavn & "<br>"
response.write"<p>" & varebeskrivelse & "<p align=left>Leveringstid: " & levering & "<align=right>Pris: " & pris & "Dkr</align></font></p><hr>"
response.write"<IMG SRC="<%=rs("billede")%>>"
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:08 #12
medions>Det ender måske med at det er den metode jeg bruger, men det ville være bedst hvis billederne kunne trækkes direkte fra databasen, fordi ham der skal holde det ved lige helst ikke skal sidde og ftp´e.
Avatar billede sesam Nybegynder
23. juli 2002 - 01:11 #13
response.write"<IMG SRC="& billede &">"
Avatar billede medions Nybegynder
23. juli 2002 - 01:11 #14
varenummer=rs("produktnummer")
varenavn=rs("produktnavn")
varebeskrivelse=rs("beskrivelse")
levering=rs("leveringstid")
pris=rs("pris")
billede=rs("billede")

response.write"<p><font color=" & farve & ">" & varenummer & " " & varenavn & "<br>"
response.write"<p>" & varebeskrivelse & "<p align=left>Leveringstid: " & levering & "<align=right>Pris: " & pris & "Dkr</align></font></p><hr>"
response.write"<IMG SRC="<%=rs("billede")%>">"

//>Rune
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:12 #15
Nu har jeg ændret den sidste linie til:

response.write"<IMG SRC=" & rs("billede") & ">"

Nu vil siden godt loade, men der hvor der skulle komme billeder er der kun et rødt kryds.
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:13 #16
medions>Når jeg skriver response.write"<IMG SRC="<%=rs("billede")%>">" får jeg en HTTP 500 fejl.
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:15 #17
Nej sorry medions. Den skriver:

Microsoft VBScript compilation error '800a0408'

Invalid character

/tofferman/produkter.asp, line 36

response.write"<IMG SRC="<%=rs("billede")
--------------------------^
Avatar billede medions Nybegynder
23. juli 2002 - 01:16 #18
Hov, det må du undskylde! Det skal se sådan her ud:

varenummer=rs("produktnummer")
varenavn=rs("produktnavn")
varebeskrivelse=rs("beskrivelse")
levering=rs("leveringstid")
pris=rs("pris")
billede=rs("billede")

response.write"<p><font color=" & farve & ">" & varenummer & " " & varenavn & "<br>"
response.write"<p>" & varebeskrivelse & "<p align=left>Leveringstid: " & levering & "<align=right>Pris: " & pris & "Dkr</align></font></p><hr>"
response.write"<IMG SRC="" & billede & "">"

//>Rune
Avatar billede sesam Nybegynder
23. juli 2002 - 01:17 #19
Hvor ligger det billede du vil hente?
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:17 #20
Jeg får stadig røde krydser :-(
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:18 #21
sesam. Det ligger inde i databasen.
Avatar billede medions Nybegynder
23. juli 2002 - 01:18 #22
varenummer=rs("produktnummer")
varenavn=rs("produktnavn")
varebeskrivelse=rs("beskrivelse")
levering=rs("leveringstid")
pris=rs("pris")
billede=rs("billede")

response.write"<p><font color=" & farve & ">" & varenummer & " " & varenavn & "<br>"
response.write"<p>" & varebeskrivelse & "<p align=left>Leveringstid: " & levering & "<align=right>Pris: " & pris & "Dkr</align></font></p><hr>"
response.write"<IMG SRC="billeder/" & billede & "">"

Hvis du har lagt billederne i en mappe der hedder "billeder" så skal det gerne virke med overstående...

//>Rune
Avatar billede medions Nybegynder
23. juli 2002 - 01:20 #23
tofferman> Kan du ikke bare rette FTP mappen over imod mappen "billeder" og så uploade dem der istedet? -Det skulle vidst ikke være det helt store der skulle rettes til...

//>Rune
Avatar billede sesam Nybegynder
23. juli 2002 - 01:20 #24
Som jeg startede med at sige skulle du gemme navnet på billedet i databasen fx. xxxx.jp og hente navnet ud fra databasen. Det er ikke hensigtmæssigt at gemme billedet i databasen...
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:20 #25
medions>Ja, det ved jeg. Og det bliver sq nok også løsningen.
Avatar billede tofferman Nybegynder
23. juli 2002 - 01:22 #26
Ok, jeg må hellere komme i seng, men jeg lader spørgsmålet stå åbent til i morgen. Så fordeler jeg pointene mellem jer.

Hvis I kommer i tanke om noget, så skriv endeligt :-)
Avatar billede medions Nybegynder
23. juli 2002 - 01:22 #27
Ok, well, så kan du bruge indlæg jeg skrev 01:18:54 ! -Her skal du så i din kolonne billeder skrive navnet på billedet!

//>Rune
Avatar billede sesam Nybegynder
23. juli 2002 - 01:25 #28
medions >> hvad gør dit bedre end mit?
Avatar billede cygnet Praktikant
23. juli 2002 - 08:51 #29
Jeg har en løsning på at hente billedet fra databasen - jeg kommer lige med den når jeg kommer hjem - ved 17.00 tiden - hvis du kan vente så længe.

/cygnet
www.cygnet.dk
Avatar billede tofferman Nybegynder
28. juli 2002 - 20:07 #30
cygnet > Fandt du ud af noget??
Avatar billede cygnet Praktikant
28. juli 2002 - 21:05 #31
på selve siden det skal vises skriver du noget ala dette

      <%

Response.Write("<img src='getimage.asp?ID=1' border=2>")

%>

getimage ser så sådan ud:



<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="ms/adovbs.inc"-->
<%
Response.Expires = 0
Response.Buffer = TRUE
strId = Request.QueryString("ID")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("base.mdb")

Set objRS = Server.CreateObject("ADODB.RecordSet")
objRS.CursorLocation = adUseServer
objRS.CursorType = adOpenForwardOnly
objRS.LockType = adLockOptimistic
objRS.Open "select ContentType,image from tilbud where id=" & strId, objConn, , , adCmdText

Response.Clear
if objRS("ContentType") <> "" then
  Response.ContentType = objRS("ContentType")
end if

Dim pic, len
len = objRS("image").ActualSize
if len > 0 then
  pic = objRS("image").GetChunk(len)
  Response.BinaryWrite pic
end if
Response.End
Pic = Nothing
objRS.Close
objConn.Close

' Henter et billede fra databasen med ID=? og returnerer det som images
%>


/cygnet
www.cygnet.dk
Avatar billede tofferman Nybegynder
29. juli 2002 - 22:15 #32
Og cygnet. Hvis det virker får du point, men der går nok nogle dage inden det lykkes :-)
Avatar billede medions Nybegynder
11. august 2002 - 19:29 #33
Thx 4 Poinz

//>Rune
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