Toon posts:

[ASP] probleem met BLOB

Pagina: 1
Acties:

Verwijderd

Topicstarter
Situatie:
Ik heb een site draaien met een fotodatabase eraan. De foto's worden in de databaste zelf opgeslagen als BLOB. Nu wil ik, om de performance een beetje op te krikken, dynamisch thumbnails maken.
Ik heb een component gevonden die dit schitterend doet, het enige probleem is dat deze een bestand nodig heeft om te converteren. Ik moet dus mijn BLOB zien op te slaan in een tijdelijk bestandje, deze laten converteren en vervolgens verwijderen.

De code zit als volgt in elkaar:

Database laden (access)
BLOB uit db halen
bestand aanmaken
wegschrijven van BLOB
component aanroepen
bestand deleten

Nu kan ik wel mijn BLOB naar de pagina zelf schrijven (via response.binarywrite), maar het lukt mij niet om dit ook te doen naar een bestand...

Mijn code gaat als volgt:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rsData.Open "SELECT Inhoud From *******, cnDB, adOpenStatic
If rsData.EOF then
Response.end
Else
' foto opslaan
randomize timer
dim denrnd
denrnd = cint(rnd*999)
whichFN="*****/temp/temp" & denrnd & ".del" 
Set fstemp = server.CreateObject("Scripting.FileSystemObject")
Set filetemp = fstemp.CreateTextFile(whichFN, true)
filetemp.write(rsData("Inhoud")) ' dit klopt niet
filetemp.Close
set filetemp=nothing
set fstemp=nothing
End If
rsData.close
Set rsData= nothing


Ik heb wat zitten googlen, maar zonder veel resultaat.

[ Voor 4% gewijzigd door Verwijderd op 10-12-2004 20:27 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 19-05 07:31

Janoz

Moderator Devschuur®

!litemod

In de regel boven 'klopt niet' open je een tekst bestand terwijl je een binair bestand moet openen. Daar is waar het waarschijnlijk fout gaat.

Persoonlijk vind ik deze manier nogal omslachtig. Is het niet handiger om op zoek te gaan naar een component dat een thumb kan maken zonder filesystem interactie?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Opgelost: binary file gemaakt. stom :)

ASP:
1
2
3
4
5
6
Set objStream = Server.createObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.Write rsdata("Inhoud")
objStream.SaveToFile ***, 2 '2=overwriten mag
objStream.Close