Toon posts:

[ASP] Uitlezen OLE-object uit Access

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een access database met daarin artikelen. Deze artikelen hebben een veld Afbeelding, met daarin (verrassend) een afbeelding. Deze afbeeldingen wil ik uitlezen mbv asp of php, dit lukt me echter na lang stoeien niet. Op google en op GoT kon ik ook niets bruikbaars vinden om de afbeeldingen uit de database te halen. Iemand hier bekend met dit probleem?

Verwijderd

Topicstarter
Niemand? *kick*

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 09-05 17:41

TeeDee

CQB 241

stel: je hebt een default.asp met daarin een afbeelding. Die kan je niet zomaar tevoorschijn toveren. Je zal die afbeelding middels een andere .asp op moeten halen.

code:
1
[img]"afbeelding.asp?id=1"[/img]

afbeelding.asp heeft wat aanpassingen aan de headers zodat je afbeelding gerenderd wordt.
afbeelding.asp schrijft met Response.Binarywrite de image uit.

[ Voor 21% gewijzigd door TeeDee op 01-04-2005 09:06 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op vrijdag 01 april 2005 @ 09:03:
stel: je hebt een default.asp met daarin een afbeelding. Die kan je niet zomaar tevoorschijn toveren. Je zal die afbeelding middels een andere .asp op moeten halen.

code:
1
[img]"afbeelding.asp?id=1"[/img]

afbeelding.asp heeft wat aanpassingen aan de headers zodat je afbeelding gerenderd wordt.
afbeelding.asp schrijft met Response.Binarywrite de image uit.
Dit alles is me gelukt, alleen geeft de browser een rood kruisje waar een afbeelding tevoorschijn moet komen. Firefox weet te melden dat er een bestandsfout is. Ergens hoorde ik dat de afbeeldingen in OLE op een of andere manier gecompressed zijn en eerst gedecompressed moeten worden...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 09-05 17:41

TeeDee

CQB 241

code:
1
2
3
4
5
6
7
8
9
<%
  Response.Expires = 0
  Response.Buffer = true
  Response.Clear

  Response.ContentType = contenttype
  Response.AddHeader "Content-Disposition", "inline; filename=" naam
  Response.BinaryWrite mijn_imagestream
%>

Alle headers e.d. goed gezet?

[ Voor 21% gewijzigd door TeeDee op 01-04-2005 09:16 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op vrijdag 01 april 2005 @ 09:16:
code:
1
2
3
4
5
6
7
8
9
<%
  Response.Expires = 0
  Response.Buffer = true
  Response.Clear

  Response.ContentType = contenttype
  Response.AddHeader "Content-Disposition", "inline; filename=" naam
  Response.BinaryWrite mijn_imagestream
%>

Alle headers e.d. goed gezet?
code:
1
2
3
4
5
6
7
8
9
10
11
<%
  Response.Expires = 0
  Response.Buffer = true
  Response.Clear

  Response.ContentType = "image/bmp"
  Response.AddHeader "Content-Disposition", "inline; filename=blabla.bmp"
  
  Response.BinaryWrite RS("Afbeelding")
  Response.End
%>

Wederom een rood kruis :(

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 09-05 17:41

TeeDee

CQB 241

- Probeer het eens met een JPG ipv een Bmp?
- Klopt de data in je DB wel?
- Niets anders fout in het script?
- Response.end eens weglaten?

[ Voor 55% gewijzigd door TeeDee op 01-04-2005 11:06 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op vrijdag 01 april 2005 @ 11:02:
- Probeer het eens met een JPG ipv een Bmp?
- Klopt de data in je DB wel?
- Niets anders fout in het script?
- Response.end eens weglaten?
Een combinatie van ASP en vbscript DLL was de oplossing. Combinatie is hier te vinden: http://support.microsoft.com/kb/q175261/

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 09-05 17:41

TeeDee

CQB 241

Verwijderd schreef op vrijdag 01 april 2005 @ 12:39:
[...]

Een combinatie van ASP en vbscript DLL was de oplossing. Combinatie is hier te vinden: http://support.microsoft.com/kb/q175261/
Ranzig. Afaik heb ik er nooit problemen mee gehad. Dat was dan alleen met JPG en geen bitmaps.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • xtra
  • Registratie: November 2001
  • Laatst online: 19-11-2025
Access maakt het ranzig. Als je in Access een afbeelding opneemt wordt het opgeslagen als een OLE-object i.p.v. de kale afbeeldingsdata. De dll haalt dat er weer uit.

Als je vanuit ASP of op een andere manier rechtstreeks de afbeelding opslaat in een binary/blob veld heb je dat probleem niet.
Pagina: 1