webForumDet fria alternativet

Läsa bildfil

ASP

5 svar · 300 visningar · startad av stefanan

Medlem sedan apr. 200027 inlägg
Frågan#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)

Medlem sedan dec. 20003 887 inlägg
#2

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

Medlem 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.

Medlem 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

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
Medlem 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

261 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)