webForumDet fria alternativet

Läsa bildfil

5 svar · 300 visningar · startad av stefanan

stefananMedlem sedan apr. 200027 inlägg
#1

Jag skulle vilja läsa en bild som inte ligger i webbträdet. Har testat med detta:

<BODY BGCOLOR="white">
Här ligger en bild.<br>
<img src="test2.asp">
</BODY>

test2.asp:

Set fso = CreateObject("Scripting.FileSystemObject")
Set bildfil = fso.OpenTextFile("d:\bilder\Arthur.gif")
text = bildfil.ReadAll
bildfil.Close
Set fso = Nothing
Response.ContentType = "image/gif"
Response.BinaryWrite(text)

Engine^Medlem sedan dec. 20003 887 inlägg
#2

Och då får du felmeddelandet...?

stefananMedlem sedan apr. 200027 inlägg
#3

Nej, jag får inte något felmeddelande. Bilden visas bara inte. Tar jag bort content-type och skriver ut binärkoden känns det som att jag får ut för lite kod. Det känns även lite fel att använda en metod som heter OpenTextFile när det gäller en gif-bild.

ViktorMedlem sedan aug. 20021 752 inlägg
#4

Från MSDN

The FSO model, contained in the Scripting type library (Scrrun.dll), supports the creation and manipulation of text files through the TextStream object; however, the FSO model does not support binary files.

/Viktor

Engine^Medlem sedan dec. 20003 887 inlägg
#5

Du kanske kan använda dig av GetFile()? Jag har aldrig testat detta, men jag vill ju gärna hjälpa :)

Dim fsoFile, fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsoFile = fso.GetFile("d:\bilder\Arthur.gif")

Response.ContentType = "image/gif"
Respone.BinaryWrite (fsoFile)

Set fsoFile = Nothing
Set fso = Nothing
stefananMedlem sedan apr. 200027 inlägg
#6

Jag fick till en lösning. Tänkte visa den ifall någon är intresserad.

DownloadFileName = "d:\bilder\ar_bestall.gif"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile DownloadFileName
Response.Expires = 0
Response.Buffer = True
Response.ContentType = "image/gif"
Response.Addheader "Content-Disposition", "inline; filename=" & "stream.gif"
Response.Addheader "Content-Length", objStream.size
Response.BinaryWrite(objStream.Read(-1))
Set objStream = Nothing

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
124 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)