Avatar billede haabert Nybegynder
01. juli 2003 - 19:34 Der er 18 kommentarer

Billeder fra database

Hvordan kalder man billeder fra en database med ASP.

Jeg troede det var nok fx bare at skrive:
<%Response.Write personer.Fields ("billeder")%>, men det er vist kun til tekst og lignende...
Jeg har hørt det med at hente billeder er noget mere besværligt.

Det jeg er ude efter, er en linie, der gør det samme som <%Response.Write personer.Fields ("billeder")%>.

/haabert
Avatar billede netro Nybegynder
01. juli 2003 - 19:37 #1
Du skal aldrig lægge dine billeder i databasen! Gem kun filnavnet/stien der.
Avatar billede haabert Nybegynder
01. juli 2003 - 19:39 #2
Jamen jeg bruger OLE-objekt. Er det ikke det samme?
Avatar billede eagleeye Praktikant
01. juli 2003 - 19:44 #3
Har du gemt billederne i databasen??? Så kan du hendte dem som beskrevet her:
http://activedeveloper.dk/aspdigital/kapitel2/sqlimage.asp
Avatar billede netro Nybegynder
01. juli 2003 - 19:45 #4
Din database vokser betydeligt i størrelse og bliver sløv. Desuden skal du hente dem ud fra tabellen HVER gang, selvom brugeren har set dem før og de ligger i cache'n.
Avatar billede haabert Nybegynder
01. juli 2003 - 19:46 #5
Jamen, hvad siger I så jeg skal gøre???
Avatar billede netro Nybegynder
01. juli 2003 - 19:47 #6
Det er dog mest kritisk med Access (hvilket jeg antager du bruger). Nogle siger dog, at en MySQL-db arbejder bedst ved en størrelse over 4Gb.
Avatar billede netro Nybegynder
01. juli 2003 - 19:47 #7
Hvad du skal gøre? Det kommer da an på, hvad du vil ;)
Avatar billede haabert Nybegynder
01. juli 2003 - 19:50 #8
Lige som man fx kan hente en adresse, tlf.nr. etc. fra databasen, vil jeg gerne hente et billede fra databasen. Men I siger altså, jeg ikke skal gemme selve billed-filen i databasen, men angive stien - hvordan gør man det?

Og hvad skal man skrive for at hente billedet?
Avatar billede netro Nybegynder
01. juli 2003 - 19:54 #9
Det er bare mig, der siger det, men jeg tror ikke, eagleeye er helt uenig.

Du kan f.eks. have en tabel, der kun indeholder info om billederne. Her kan du bruge autonummeret som filnavn til billedet. Ved siden af kan du have nogle felter til billedetekst, antal visninger etc.
Avatar billede netro Nybegynder
01. juli 2003 - 19:57 #10
Når du så vil vise det, kan du blot trække navnet ud:

Set rs = Conn.Execute("Select BilledeID From Billeder Where BilledeTekst Like '%Rådhustårnet%'")

If Not rs.EOF Then Response.Write "<img src='mappe1/mappe2/" & rs("BilledeID") & ".jpg'>"
Avatar billede haabert Nybegynder
01. juli 2003 - 19:57 #11
Jamen hvad med den sti? Hvor skal den skrives? Jeg har jo en kollonne i Access, som fx hedder "billeder". Kan jeg ikke bare fx angive stien i felterne i denne kollonne?

Det er det, jeg gerne vil vide, og så hvad jeg skal skrive i selve asp-filen for at hente det billede
Avatar billede netro Nybegynder
01. juli 2003 - 20:01 #12
Du kan også have stien til at ligge i tabellen. Det foregår på tilsvarende måde:

Set rs = Conn.Execute("Select BilledeSti From Billeder Where BilledeTekst Like '%Rådhustårnet%'")

If Not rs.EOF Then Response.Write "<img src='" & rs("BilledeSti") & ".jpg'>"
Avatar billede netro Nybegynder
01. juli 2003 - 20:15 #13
Jeg er nødt til at smutte nu, men jeg kigger ind senere, hvis du har supplerende spm.
Avatar billede haabert Nybegynder
01. juli 2003 - 20:15 #14
takker
Avatar billede eagleeye Praktikant
01. juli 2003 - 20:25 #15
Jeg er helt enig med netro.

Det man typisk kan gøre er at gemmen billede sti + navn i databasen, og så gemme filen på i en folder på serveres eks. HVis man har en folder images i roden på serveren:
/images/1.jpg

Så kan man ligge den sti+navn  /images/1.jpg  i en kolonne i databasen som eksvis "billede"

Så kan du udskrive det sådan her når du har behov for at vise billet.

Response.write "<img src=" & rs("billede") & ">"
Avatar billede haabert Nybegynder
01. juli 2003 - 20:32 #16
Ok eagleeye nu begynder det at blive interessant. Men kan du ikke give et eksempel på en sti. Jeg fatter ikke det med server og folder.

Kan jeg evt. skrive stien sådan her i et felt i kolonnen: c:\inetpub...
Avatar billede eagleeye Praktikant
01. juli 2003 - 20:37 #17
Det går ikke at havde den fysike sti c:\inetpub\... da billedet så kun kan ses på din maskine. Man skal bruge relative stier.

Hvis vi tager udgangs punkt i wwwroot  som vi kalder  root
c:\inetpub\wwwroot

Hvis du laver en folder i root images:  c:\inetpub\wwwroot\images
Vil den relativt være /images  da / svare til root

Når man skal havde vist et billede i /images folderen så bruge en img tag og man skriver:
<img src="/images/billede.jpg">

Så vises billet billede.jpg.
Avatar billede eagleeye Praktikant
17. september 2003 - 00:02 #18
Var det noget?
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