Kategorien:
Suchbegriffe:
Suchfelder:
Suche starten
Neue Beiträge / Top 7
Alle Artikel / Liste
Bücher zu ASP/ASP.Net
Startseite / Hilfe
Fragen zu ASP/ASP.NET
Datenschutzrichtlinen
Impressum / Kontakt
Das ASP.Net Codebook. Die unentbehrliche Referenz für alle ASP.Net-Entwickler [Autoren: Stefan Falz, Karsten Samaschke]
Active Server Pages-FAQ
Active Server Pages - FAQ (v. 1.50) © 2000 - 2020 by Stefan Falz Webconsulting

GetFile! Dynamischer Dateiupload im Browser

Dateizugriff Zurück Druckversion Stefan Falz 09.08.2001
Frage: Wie kann ich Bilder dynamisch durch ASP an den Browser senden?
Sicherlich haben Sie auch schon vor dem Problem gestanden, dass Sie Ihren Usern gerne
Dateien bereitstellen, den direkten Weg über den URL der Grafik aber unterbinden möchten.
Dies kann zum Beispiel der Fall sein, wenn Sie ein geschütztes Grafikarchiv anbieten und die
Downloads selbst kontrollieren möchten. (Sie können das Beispiel natürlich auch für alle
anderen Dateiarten verwenden)

Im nachfolgenden Beispiel senden wir dem Browser eine GIF-Datei, die im Ordner
"<aktuellerpfad>/images/" liegt und "test.gif" benannt wurde.

[showimage.asp]
<%
Response.Buffer = True
Response.Clear

' --- Angeben des Cachingverhaltens
Response.Expires = 0

' --- Ausgabe des MIME-Typs
Response.ContentType = "image/gif"

' --- Angeben des Dateinamens der Grafik
Dim strFileName
strFileName = "test.gif"

' --- Ermitteln des physischen Dateipfads
Dim strMyPath
    strMyPath   = Server.MapPath("./images/") & "\" & strFileName

' --- Erzeugen eines FSO-Objekts
Set objFileSys = Server.CreateObject("Scripting.Filesystemobject")

    ' --- Ermitteln der Dateigroesse
    Set objFile = objFileSys.GetFile(strMyPath)
        FileSize = objFile.Size
    Set objFile = Nothing

    ' --- Öffnen der Datei
    Set objFile = objFileSys.OpenTextFile(strMyPath, 1, false, -1)

        ' --- Auslesen des Dateinhalts und Ausgabe
        ' --- per Response.BinaryWrite
        Response.BinaryWrite(objFile.Read(FileSize))

    Set objFile = Nothing

Set objFileSys = Nothing

' --- Senden der Ausgabe an den Browser
Response.Flush
%>

Diese ASP-Datei können Sie entweder direkt als Ziel-URL im Browser (also als normalen Link)
oder auch als Referenz eines IMG-Tags (z.B.: <img src="showimage.asp?IMG=1">) angeben.

Beispiel bei Einbindung der ASP-Seite als Referenz des IMG-Tags:


Hier können Sie die Beispieldatei http://www.aspfaq.de/ex_scripts/image.asp direkt aufrufen.
Das Beispiel referenziert die Grafik http://www.aspfaq.de/ex_scripts/images/aspfaq_button.gif


Die Datei kann aber aufgrund der Servereinstellungen nicht direkt abgerufen werden.
Die ASP-Datei kann den Inhalt der Datei aber trotzdem an den Browser senden, da diese
die Datei über das FSO ausliest.

Sehr gut
1 2 3 4 5 6
Ungenügend
Zurück | Bisherige Aufrufe: 24056 | Bisherige Bewertungen: 44 | Durchschnitt: 1,73
Stefan Falz Webconsulting