Avatar billede maron Nybegynder
13. august 2007 - 19:27 Der er 9 kommentarer og
1 løsning

Load billede med script

Dette script virker fint i IE og firefox.
Men kan det anbefales at bruge for at sikre sine data på bagsiden af wwwroot og vil det virke i alle browser?
Ligeledes cachecontrol?

<%
Response.Buffer = true
Response.CacheControl = "no-cache"
Response.Expires = -1

if session("brugernavn") = "" then
response.redirect ("404.asp")
end if

Const adTypeBinary = 1

Response.Expires = 0
Response.Buffer = TRUE

file = request.querystring("id")

Set uAgent = Request.ServerVariables("HTTP_USER_AGENT")
if (inStr(uAgent, "IE")) Then
'Explorer
Response.ContentType = "m_type"
Response.AddHeader "Content-Disposition", "atachment; filename="& file
Else
'NetScape
Response.ContentType = "image/JPEG"
'Response.AddHeader "Content-Disposition", "attachment; filename="& chr(34) & file & chr(34)
End if

Dim objStream
Set objStream = Server.CreateObjekt("ADODB.Stream")

objStream.Type = adTypeBinary
objStream.LoadFromFile server.mappath("minedata/" & file & "")
Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing

Response.Flush
%>
Avatar billede w13 Novice
14. august 2007 - 04:22 #1
Jeg kan kun svare på, at det virker i alle browsere. ASP fortolkes jo af serveren og varierer derfor ikke fra browser til browser.
Avatar billede maron Nybegynder
14. august 2007 - 09:52 #2
Ok fint. Det var bare den her jeg studsede over.

Set uAgent = Request.ServerVariables("HTTP_USER_AGENT")
if (inStr(uAgent, "IE")) Then
'Explorer
Response.ContentType = "m_type"
Response.AddHeader "Content-Disposition", "atachment; filename="& file
Else
'NetScape
Response.ContentType = "image/JPEG"
'Response.AddHeader "Content-Disposition", "attachment; filename="& chr(34) & file & chr(34)
End if


Hvis ikke Response.ContentType = "image/JPEG" er sat, virker det ikke i Netscape, så derfor kunne der måske være et problem med f.eks opera?
Avatar billede w13 Novice
14. august 2007 - 14:35 #3
Jaeh, det virker så til gengæld lidt underligt, synes jeg, da image/JPEG så vidt jeg ved, er helt fint til IE.
Mangler der i øvrigt ikke et 't' i 'atachment' under ie-delen?
Avatar billede fennec Nybegynder
14. august 2007 - 14:36 #4
Ved ikke helt hvor du har "m_type" typen fra. IE modtager fint "image/JPEG":
http://msdn2.microsoft.com/en-us/library/ms525208.aspx

Det burde derfor være nok bare at angive:
Response.ContentType = "image/JPEG"
Avatar billede maron Nybegynder
14. august 2007 - 20:49 #5
Jeg anvender nu kun Response.ContentType = "image/JPEG" og det virker fint.
Fennec >> kan du sige mig hvorfor mange, eller næsten alle f.eks dating.dk scor.dk osv. placerer alle brugeres fotos ude på wwwroot og ikke bagved.

Sikkerhedsmæssigt må det da være en forde at smide dem bag wwwroot og streame derfra, er det for at spare trafik, da de på den anden måde bliver cashes hos brugerne?
Eller er der en anden forklaring?
Avatar billede fennec Nybegynder
15. august 2007 - 08:43 #6
Sikkert flere grunde:

1. Der er ingen grund til at beskytte de billeder. De er jo ligeglade med om de bliver brugt/stjålet. Det er noget andet med f.eks et galleri eller professionelle fotografer, som ikke vil have deres materiale bliver downloadet.
2. Det spare serverkraft, da serveren ikke skal lave ekstra arbejde.
3. Det er nemmere bare at lave et <img> tag, end et streaming script.
Avatar billede w13 Novice
23. oktober 2007 - 19:42 #7
Maron?
Avatar billede maron Nybegynder
23. oktober 2007 - 19:53 #8
Ja. det er mig.:)
Avatar billede w13 Novice
14. november 2007 - 04:06 #9
Kommet videre? Hvis du ikke har fået løst problemet, kan du oprette et svar selv og ta' pointene igen.
Avatar billede maron Nybegynder
14. november 2007 - 06:13 #10
Det gør jeg så hermed.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester