Hur skicka ut en/flera bild/bilder till en websida utan av avslöja sökvägen? via asp/något annat på servern: öppna bilden och läs in den (i asp med hjälp av fso; file system object), skriv sedan ut den rakt av. Sätt content-type till vad-det-nu-är-för-den-bilden Ah... såg att det var asp.net du syftade på när du sa asp ;) Lägg bilden i en mapp utanför wwwrooten. Du kan sedan ha en .aspx sida som du sätter som src i bilden. Sidan använder System.Drawing.Imaging och skapar ett bild-objekt som du pekar mot den externa katalogen och sen streamar den filen så att .aspx sidan blir en bild. Skicka in namnet på bilden. Gör inte det bara att den "riktiga" sökvägen inte visas utan istället ersätts av http://www.minsite.com/bilder/visabildsida.aspx?imgUrl=minroligabild.jpg? Dvs man visar ju inte den riktiga sökvägen, men att få tag i den "virtuella" sökvägen är ju precis lika lätt och ger samma resultat.... Tack, det funkar som jag ville. Angående att man ser <code>http://www.minsite.com/bilder/visabildsida.aspx?imgUrl=minroligabild.jpg</code> gör ingenting, jag lägger in min behörighets kontroll i filen. Gömma bilder!
Kan man göra en quiet ntlogin?
Har en IIS och jag har full kontroll över den.
Andra lösningar? Någon nämnde nåt om att skicka bilden via direkt via asp och i så fall undrar jag hur?
/StefanSv: Gömma bilder!
Sv: Gömma bilder!
dim f as new system.io.streamreader("bilden")
dim s as string
s = f.readtoend
f.close
response.contenttype = "content-typen..."
response.write sSv: Gömma bilder!
<code>
Imports System.Drawing.Imaging
Public Class showimage
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim imageUrl As String = Request.QueryString("imgUrl")
'Make sure that the image URL doesn't contain any /'s or \'s
If imageUrl.IndexOf("/") >= 0 Or imageUrl.IndexOf("\") >= 0 Then
'We found a / or Response.End()
End If
'Add on the appropriate directory
imageUrl = "c:\inetpub\images\" & imageUrl
'Get the image.
Try
Dim fullSizeImg As System.Drawing.Image
fullSizeImg = System.Drawing.Image.FromFile(imageUrl)
Dim imgType = fullSizeImg.RawFormat
If imgType.Equals(System.Drawing.Imaging.ImageFormat.Gif) Then
Response.ContentType = "image/gif"
Else
Response.ContentType = "image/jpeg"
End If
fullSizeImg.Save(Response.OutputStream, imgType)
Catch
' Det gick inte att visa bilden så vi visar en transparent GIF istället.
imageUrl = "~/images/dot_clear.gif"
Dim fullSizeImg As System.Drawing.Image
fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(imageUrl))
Response.ContentType = "image/gif"
fullSizeImg.Save(Response.OutputStream, imgType)
End Try
End Sub
End Class
</code>
/Patrik
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nuSv: Gömma bilder!
Sv: Gömma bilder!