webForumDet fria alternativet

Öppna som textfil, konvetera till binär.

ASP

4 svar · 277 visningar · startad av MikeEast

Medlem sedan sep. 200153 inlägg
Frågan#1

Hej på er,

Jag satt hela dagen igår och försökte göra en workaround för att kunna öppna en binär fil med fso och sedan skicka den till klienten via http.

Problemet är i stort att fso inte hanterar binära filer.

Det jag vill göra är att hämta en fil vart som helst i filsystemet och skicka den till klienten, men att den filen inte ska behöva ligga under webbroten.

Ex:

filsamlingen ligger på typ c:\filer
webbservern pekar på typ c:\inetpub\wwwroot\mikeee\

Jag har löst det med ADODB.Stream, men det kräver ADO 2.5 och det går inte att köra med i detta fallet.

Är det någon som vet, eller kanske har en funktion för att omvandla binära filer som öppnas med fso till sin rätta natur igen innan den ska skickas ut med BinaryWrite.

Kanske någon vet i alla fall vilket teckenuppsättning som en binärfil har och vad som händer med den, när man öppnar den med fso.

Det vore grymt om vi kunde lösa det här, för den här gåtan kommer nog alla stöta på förr eller senare.

Tacksam för hjälp!

::mikeEast

------------------
Alltså.. Det är vad jag tycker..

Medlem sedan sep. 200153 inlägg
#2

hjäääälp...

ingen som har nån idé?

------------------
Alltså.. Det är vad jag tycker..

Medlem sedan dec. 19998 577 inlägg
#3

Ger du oss inte mer än 2 två timmar? ;)

Du skall nog kolla in BinaryWrite: http://www.devguru.com/Technologies/asp/quickref/response_binarywrite.html

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan sep. 200153 inlägg
#4

Yo,

Två timmar är ju inte så mycket kanske.. Jag satt hela dagen igår med Google och letade... Den bästa leaden jag hittade var nån som också svor över att fso inte har binära metoder.

Här följer i alla fall en lösning, fast den använder ADODB.Stream, som kräver att man har ADO 2.5

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 'adTypeBinary
objStream.Open
objStream.LoadFromFile("c:\temp\mikeee.gif")

Response.Clear
Response.AddHeader "Content-Disposition", "attachment; filename=mikeee.gif"
Response.ContentType = "image/gif"
Response.BinaryWrite(objStream.Read)
Response.End

Den funkar, men jag vill ju öppna bilden med fso och det går ju bra, men bilden blir helt upp-fuckad när mina konverteringsfunktioner har fått leka med den.

Jag funderade lite över hur BLOBar sparas egentligen, för när man trycker ut en BLOB skickar man ju bara den binära datan rakt av(och eventuellt också en kul header).

Man skulle ju även kunna tänka sig att gör en superenkel komponent i VB, men det kan jag inte heller använda.

Det skulle vara så grymt om detta gick att göra i ren ASP med vbScript...

Någon som har nån idé eller kanske sitter inne med info om vilka format och teckentabeller man måste konvertera mellan...?

::m

------------------
<A HREF="http://www.sthlm-mansion.com
www.milano-mansion.com" TARGET=_blank>www.sthlm-mansion.com
www.milano-mansion.com</A>

Medlem sedan sep. 200153 inlägg
#5

:(

Varför är det aldrig nån som svarar på mina frågor..?

------------------
www.sthlm-mansion.com
www.milano-mansion.com

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)