webForumDet fria alternativet

Öppna filer från DB direkt i webläsaren

ASP

3 svar · 418 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag vill att filerna som ligger i databasen ska gå att öppna direkt i klienternas webläsare så jag gjorde ett enkelt script.

Först så behöver jag en länk med rätt id:

<A HREF="download.asp?id=<%= rs.fields("ID") %>">Click</A>

Sedan då scriptet som skickar ut filen till min webläsare:

<%
Connect ="Komme inte ihåg hela strängen och det kvittar för den fungerar :)" 
Set db = Server.CreateObject("ADODB.Connection")
db.Open Connect
SQL = "SELECT * FROM MYIMAGES where id = " & Request("id")
Set rs =db.Execute( SQL )
Response.ContentType = "application/octet-stream"
' let the browser know the file name
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("filename"))
' let the browser know the file size
Response.AddHeader "Content-Length", rs("filesize")
Response.BinaryWrite rs("image_blob")
%>

Jo det fungerar, filen genereras MEN öppnas inte direkt i klientens webläsare utan de får fråga om de vill öppna,spara eller avbryta. Någon som har något förslag ?

Medlem sedan juni 20003 076 inlägg
#2

kan du inte på första sidan i länken skriva:

<A HREF="<%=rs("filename")%>">Click</A>

istället?

Medlem sedan juni 20008 205 inlägg
#3

Byt ut:
Response.ContentType = "application/octet-stream"
' let the browser know the file name
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("filename"))

Mot:
Response.ContentType = "<bildens MIME-typ>"
MIME-typen för GIF är image/gif, för JPEG image/jpeg, för PNG image/png och så vidare.
Om du inte vet vad bilderna är lagrade i för format, så borde du kunna lista ut det med s.k. "magic numbers". De tre första byten i en GIF-bild är exempelvis alltid motsvarande strängen "GIF", och jag skulle gissa att det är något liknande för övriga format. Om du är nyfiken kan du leta fram en hexeditor och börja inspektera hur de magiska siffrorna ser ut.

Medlem sedan juni 20019 024 inlägg
#4

Går annars utmärkt att kolla MIME typen med hjälp av .Type på FSO:n.

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)