Avatar billede jerving Nybegynder
10. november 2001 - 23:06 Der er 30 kommentarer og
1 løsning

Udtræk at jpg fejl?

Hej genier!,
I en access-sql database har jeg et tabel med der heder furniture. I tabellen har jeg 1 billedfelt og nogle tekstfelter.

På siden hvor tabellen skal vises har jeg et problem med at fremvise jpg filen.

Jeg har brugt activeserverpages.dk\'s pullimage.asp - script til at vise billedet, men filen refererer til et forudbestemt ID:
\' Udskriv værdien af kolonnener
  Response.Write \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write \"<img src=\"\"pullimageFurn.asp?id=77\"\">\" & \"</td>\" & \"<td align=\"\"center\"\" \'HER LIGGER PROBLEMET! valign=\"\"bottom\"\">\"
  Response.Write rs(\"Navn\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write rs(\"Designer\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write rs(\"Beskrivelse\") & \"</td>\" & \"</tr>\"

Hvordan får man blot siden der skal vise tabellen til at vise de billeder der ligger i det respektive rs?

Håber, der er nogen, der kan hjælpe mig - jeg er en pauseklovn til asp. :-(
Avatar billede jerving Nybegynder
10. november 2001 - 23:59 #1
Jeg giver 40 ekstra point hvis nogen gider at hjælpe!
Avatar billede eagleeye Praktikant
11. november 2001 - 01:58 #2
Hvid du har et autonummer-felt i databasen kan du evt bruge det:

Response.Write \"<img src=\"\"pullimageFurn.asp?id=\"&rs(\"ID\")&\"\"\">\" & \"</td>\" & \"<td align=\"\"center\"\" \'HER LIGGER PROBLEMET! valign=\"\"bottom\"\">\"

det forudsætter så billedet ligger i samme tabel som Navn, Designer og Beskrivelse.
Avatar billede jerving Nybegynder
11. november 2001 - 02:07 #3
hmmm, det giver samme resultat. Selvom jeg ved, at der ligger et jpg i database i samme tabel som Navn,... vises der blot et \"billedet eksisterer ikke\"- symbol. Eks:http://www.opus57.dk/furn.asp

Fatter det ikke...:-(
Avatar billede eagleeye Praktikant
11. november 2001 - 02:16 #4
hvordan ser pullimageFurn.asp ud?
For hvis man bare skriver pullimageFurn.asp?id=5  så kommer der en fejl.
Avatar billede jerving Nybegynder
11. november 2001 - 02:20 #5
Hov, vent lidt - hvad skal, der så skrives i pullimage.asp hvor der nu står: strSQL = \"SELECT ImageData FROM furniture WHERE ImageID = 77\"

Beklager hvis jeg spørger dumt :-)
Avatar billede eagleeye Praktikant
11. november 2001 - 02:29 #6
du skal hendte id med request.querystring(\"id\") og bruge den i SQL\'en:

strSQL = \"SELECT ImageData FROM furniture WHERE ImageID = 77\"

ImageData : rettes til kolonne navnet hvor dine billeder er gemt
furniture : rettes til tabel navnet hvor dine billeder er gemt
ImageID  : rettes til navnet på dit autonummer felt, der er nok ID.
77\" : rettes til \" & request.querystring(\"id\")

strSQL = \"SELECT ImageData FROM furniture WHERE ID = \" & request.querystring(\"id\")
Avatar billede jerving Nybegynder
11. november 2001 - 02:46 #7
Samme situation. Jeg tænkte på om det kunne skyldes flg: Det er et jpg billed men i pullimageFurn.asp står der flg.:

strImage = rs(\"File_Data\").GetChunk(1024000)
    Response.ContentType = \"image/gif\"

Er det der den er gal?
Avatar billede eagleeye Praktikant
11. november 2001 - 02:48 #8
hedder kolonnen  File_Data ?
Avatar billede jerving Nybegynder
11. november 2001 - 02:51 #9
Ja - den med jpg billedet i.
Avatar billede eagleeye Praktikant
11. november 2001 - 02:57 #10
Ja det man angiver bagved er antallet af bytes som skal hendtes.
Avatar billede eagleeye Praktikant
11. november 2001 - 02:58 #11
hvis det er jpg skal der srå :  \"image/pjpeg\"  istedet for \"image/gif\"
Avatar billede jerving Nybegynder
11. november 2001 - 03:02 #12
Hmm, nu har jeg lige uploadet et lille gif billed, men resultatet er det samme. Det er ikke til at begribe.
Avatar billede eagleeye Praktikant
11. november 2001 - 03:12 #13
jeg ernød til at smutte i seng nu.
Avatar billede jerving Nybegynder
11. november 2001 - 03:14 #14
Tusind tak for dine anstrengelser!!!!:-)
Avatar billede eagleeye Praktikant
11. november 2001 - 14:28 #15
Jeg ved ikke om det kan hjælpe dig men jeg har en database med billeder i som dig og har lavet denne fil til at hendte ud med:

Response.Buffer = True
ID = Request(\"ID\")
If ID = \"\" Then
  ID = 1
End If
connStr = \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\" & Server.MapPath(\"FileDB.mdb\")
   
Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"select [File Data],[Content Type] from Files where ID = \" & ID, connStr, 2, 4

If Not rs.EOF Then
  Response.ContentType = rs(\"Content Type\")
  Response.BinaryWrite rs(\"File Data\")
End If

rs.Close
Set rs = Nothing
Avatar billede eagleeye Praktikant
11. november 2001 - 14:29 #16
Den savre til den du har lavet  pullimageFurn.asp...
Avatar billede jerving Nybegynder
11. november 2001 - 15:28 #17
Hmm, Nu har jeg lavet en med det script, du har vist i, jeg har kaldt pullimageFurn2.asp som ser flg. ud:<%
connStr = \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\" & Server.MapPath(\"../../db/mdb\")
   
Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"select [File_Data],[Content Type] from furniture where ID = \" & ID, connStr, 2, 4

If Not rs.EOF Then
  Response.ContentType = rs(\"Content Type\")
  Response.BinaryWrite rs(\"File_Data\")
End If

rs.Close
Set rs = Nothing
%>

I siden der skal vise billedet ser det således ud:
  Response.Write \"<img src=\"\"pullimageFurn2.asp?id=\"&rs(\"ID\")&\"\"\">\" & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
Avatar billede eagleeye Praktikant
11. november 2001 - 15:33 #18
Der mangler lig en der hendter ID, ID = Request(\"ID\"):
<%
connStr = \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\" & Server.MapPath(\"../../db/mdb\")
   
Set rs = Server.CreateObject(\"ADODB.Recordset\")
ID = Request(\"ID\")
rs.Open \"select [File_Data],[Content Type] from furniture where ID = \" & ID, connStr, 2, 4

If Not rs.EOF Then
  Response.ContentType = rs(\"Content Type\")
  Response.BinaryWrite rs(\"File_Data\")
End If

rs.Close
Set rs = Nothing
%>
Avatar billede jerving Nybegynder
11. november 2001 - 15:45 #19
Jeg for stadig en error \'80020009\'
Exception occurred.

/furn.asp, line 34
besked :-(
Avatar billede eagleeye Praktikant
11. november 2001 - 15:48 #20
hvad står der i line 34?
Avatar billede jerving Nybegynder
11. november 2001 - 16:07 #21
Response.Write \"<img src=\"\"pullimageFurn2.asp?id=\"&rs(\"ID\")&\"\"\">\" & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"

Sorry for ventetiden - havde ikke set at du havde skrevet....
Avatar billede eagleeye Praktikant
11. november 2001 - 16:16 #22
Det er en rigtig skod fejl for det kan være mange forskellige ting.
Har du et felt som hedder:  Content Type
Avatar billede eagleeye Praktikant
11. november 2001 - 16:19 #23
Der kan også være stien til databasen som er forkert:
Server.MapPath(\"../../db/mdb\")
Avatar billede jerving Nybegynder
11. november 2001 - 16:34 #24
Nej stien er faktisk blot (\"/db/database.mdb\"), men det er rettet tidligere. Nu ligger begge filer i roden for god ordens skyld. Ja der er en der heder Content Type.

Her er hele siden, der skal vide tekst og billeder:

<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/db/database.mdb\")
Conn.Open DSN


\' SQL forespørgsel
strSQL = \"Select * from furniture\"
\' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

  Response.Write \"<table width=\"\"400\"\" border=\"\"0\"\" cellspace=\"\"5\"\" class=\"\"aspTabels\"\">\"
 
  Response.Write \"<td align=\"\"center\"\" valign=\"\"bottom\"\" bgcolor=\"\"#666666\"\" class=\"\"aspTableHedding\"\">\"
  Response.Write (\"Image\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\" bgcolor=\"\"#666666\"\" class=\"\"aspTableHedding\"\">\"
  Response.Write (\"Product\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\" bgcolor=\"\"#666666\"\" class=\"\"aspTableHedding\"\">\"
  Response.Write (\"Designer\") & \"</td>\" &  \"<td align=\"\"center\"\" valign=\"\"bottom\"\" bgcolor=\"\"#666666\"\" class=\"\"aspTableHedding\"\">\"
  Response.Write (\"Description\") & \"</td>\" & \"<tr>\"
 

\' Gennemløb Recordset (rs) med en løkke
Do

  \' Udskriv værdien af kolonnener
  Response.Write \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write \"<img src=\"\"pullimageFurn2.asp?id=\"&rs(\"ID\")&\"\"\">\" & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write rs(\"Navn\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write rs(\"Designer\") & \"</td>\" & \"<td align=\"\"center\"\" valign=\"\"bottom\"\">\"
  Response.Write rs(\"Beskrivelse\") & \"</td>\" & \"</tr>\"
 
 
  \' Gå til næste Record i rs
  rs.MoveNext

\' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

  Response.Write \"</table>\"

%>
Avatar billede eagleeye Praktikant
11. november 2001 - 17:08 #25
Og autonummeret i tabellen hedder ID?
Avatar billede eagleeye Praktikant
11. november 2001 - 17:26 #26
Jeg tror fejlen ligger i filen pullimageFurn2.asp nå jeg tænker over det. For filen furn.asp bliver vist.
Avatar billede jerving Nybegynder
11. november 2001 - 17:34 #27
Ja, det er det der ikke er til at hitte ud af. ID hedder ID og er autonummereret og, som du selv siger fungerer furn.asp fint med at vise teksten.- ?
Avatar billede eagleeye Praktikant
11. november 2001 - 18:43 #28
ConnStr skal i filen pullimageFurn2.asp se sådan ud, være den samme som i furn.asp:
connStr = \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\" & Server.MapPath(\"/db/database.mdb\")
Avatar billede jerving Nybegynder
11. november 2001 - 21:21 #29
Tak for dit bud, jeg har desværre ikke mulighed for at teste det i dag, da jeg ikke er hjemme. Jeg tester det i morgen eftermiddag. Du er en superhjælp! :-)
Avatar billede jerving Nybegynder
12. november 2001 - 18:40 #30
Nu virker det sku! Du har endnu en gang været yderst behjælpelig! :-) Tak! - Hurtigt bispørgsmål - hvis man ønsker at der skal poppe et prædefineret vindue op med billed, navn, designer og beskrivelse, når der trykkes på et billed - kan man da bruge window.open bla, bla, windowName -bla, bla.. og så pullimage.asp igen?

MVH. jerving
Avatar billede eagleeye Praktikant
12. november 2001 - 18:46 #31
Det vill jeg tror man kunne men jeg har faktsik ikke prøvet det.


\"<img src=\"\"pullimageFurn2.asp?id=\"&rs(\"ID\")&\"\"\">\" viser et billed på en HTML side men hvis du skriver linket direkte viser den bare billedet. Altså  pullimageFurn2.asp?id=1  så åbnes filen pullimageFurn2.asp med et billede i:
http://www.opus57.dk/pullimageFurn2.asp?id=80
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

IT-JOB

Forsknings-, Uddannelses- og Digitaliseringsministeriet

Vil du være med at udvikle sikkerhed og compliance i CPR?

RackPeople

Teknisk Lead

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operations Center ved Cyberdivisionen

BEC Financial Technologies

Development Manager for Core Banking