Help and Support

Artikel-ID: 300108 - Geändert am: Freitag, 2. November 2001 - Version: 1.0

SO WIRD'S GEMACHT: Verwenden von ASP zum Senden eines Dokuments mit dynamischem Text an den Client

Dieser Artikel wurde zuvor veröffentlicht unter D300108
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
300108  (http://support.microsoft.com/kb/300108/en-us/ ) HOW TO: Use ASP to Send a Dynamic Text Document to the Client

Auf dieser Seite

Alles erweitern | Alles schließen

Zusammenfassung

In diesem Artikel wird Schritt für Schritt erläutert, wie ein Dokument mit dynamischem Text unter Verwendung von ASP (Active Server Pages) an den Client gesendet wird. Dies empfiehlt sich für Zeichenfolgendaten, die in einer Datenbank gespeichert sind und an den Clientbrowser gesendet werden sollen, ohne dass die tatsächlichen Dateien auf dem Webserver erstellt werden.

Dieses Beispiel besteht aus einem Formular, das an sich selbst sendet. Wenn Sie auf die Schaltfläche Senden klicken, schreibt der serverseitige Skriptcode die Daten (Text) im HTTP-Header (Hypertext Transfer Protocol) an den Client.

Erstellen der Seite

  1. Erstellen Sie ein neues Webprojekt in Visual InterDev 6.0. Ausführliche Anweisungen finden Sie in der Microsoft Knowledge Base in folgendem Artikel:
    301184  (http://support.microsoft.com/kb/301184/EN-US/ ) HOW TO: Create a Visual InterDev Project
  2. Klicken Sie in Visual InterDev im Projekt-Explorer mit der rechten Maustaste auf <MeinWebServer>/<Projektname>, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Active Server Page. Geben Sie der neuen ASP-Seite den Namen DynamicText.asp.
  3. Löschen Sie im Quellcodefenster sämtlichen von Visual InterDev generierten Code. Markieren Sie den folgenden Code, klicken Sie mit der rechten Maustaste auf den Code, und klicken Sie dann auf Kopieren. Klicken Sie im Quellcodefenster von Visual InterDev im Menü Bearbeiten auf Als HTML einfügen, um den folgenden Code einzufügen:
    <%@ Language=VBScript %>
    
    <%
    
    if Request.Form("buttonSubmit") <> "" then
    
    	Dim fileName
    	Dim str1
    	Dim str2
    
    	fileName = "DynamicText.txt"
     'These are the strings that are used to build the text file.
    	str1 = "<-- Hello -->"
    	str2 = "This is a demo on creating dynamic text file"
    
     'ContentType specifies the MIME type of this header.
    	Response.ContentType = "text/plain" 
     'The AddHeader method adds an HTML header with a specified value. 
     'Content-disposition forces the browser to download.
    	Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"
    	Response.Write str1 & vbnewline
    	Response.Write str2
    	Response.End
    	
    End if
    
    %>
    
    <HTML>
    <HEAD>
    <TITLE> Demo on Creating Dynamic Text File </TITLE>
    </HEAD>
    
    <BODY>
    <h4> This is a demo on creating a dynamic text file </h4>
    
    <FORM action="dynamicText.asp" method=POST id=form1 name=form1>
    <INPUT type="submit" value="Download TextFile" id=buttonSubmit name=buttonSubmit>
    </FORM>
    
    </BODY>
    </HTML>
  4. Sie können diese ASP-Seite auch im Editor erstellen. Fügen Sie den oben stehenden Code im Editor in ein neues Dokument ein. Klicken Sie im Menü Datei auf Speichern. Wechseln Sie im Dialogfeld Speichern unter im Dropdown-Listenfeld Speichern in zum Stammspeicherort des Webservers (i. d. R. C:\InetPub\Wwwroot). Geben Sie im Dropdown-Listenfeld Dateiname Folgendes ein: DynamicText.asp . Klicken Sie im Dropdown-Listenfeld Dateityp auf Alle Dateien. Klicken Sie dann auf Speichern.
  5. Wenn Sie die Seite anzeigen lassen möchten, klicken Sie in Visual InterDev mit der rechten Maustaste auf die ASP-Seite, und klicken Sie dann auf Im Browser anzeigen. Sie können auch den Browser öffnen und in der Adressleiste folgende Adresse eingeben:
    http://< Servername >/DynamicText.asp
  6. Klicken Sie beim Laden der ASP-Seite auf Textdatei downloaden. Die Datei wird dann an den Browser gesendet.

Erläuterungen zum Code

  • Der folgende Code gibt die ContentType-Eigenschaft des HTTP-Headers an:
    Response.ContentType = "text/plain"
    Hierdurch wird der Browser über den Typ der an den Browser gesendeten Daten informiert. Im Codebeispiel in diesem Artikel wird der Inhaltstyp auf "text/plain" festgelegt, da der Header Textdaten enthält. Wenn Sie den Inhaltstyp nicht angeben, wird dieser durch IIS (Internet-Informationsdienste) standardmäßig auf "application/octlet-stream" festgelegt.

    Weitere Informationen über die ContentType-Eigenschaft finden Sie unter "Request for Comments (RFC) 1341" auf der folgenden Website des W3C (World Wide Web Consortium):
    http://www.w3.org/Protocols/rfc1341/7_1_Text.html (http://www.w3.org/Protocols/rfc1341/7_1_Text.html)
  • Der "content-disposition"-Header zwingt den Clientbrowser, den Dateidownload anzufordern:
    Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"
    Wenn der Browser den Benutzer nicht zum Downloaden auffordern, sondern den Textinhalt behandeln soll, können Sie die Codezeile "content-disposition" entfernen.

    Sie können "content-disposition" auch auf dem IIS-Server angeben. Wenn der Header statisch angewendet werden soll, klicken Sie im Internetdienste-Manager mit der rechten Maustaste auf das Dokument, und klicken Sie dann auf Eigenschaften. Geben Sie auf der Registerkarte HTTP-Header den "content-disposition"-Header ein. Dies empfiehlt sich besonders, wenn "content-disposition" nur auf einige Dateien im System angewendet werden soll und der Mehraufwand von ASP nicht erforderlich ist.

    Weitere Informationen über "content-disposition" finden Sie unter "RFC 1806" auf der folgenden Website der Ohio State University:
    http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1806.html (http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1806.html)
  • Der folgende Code schreibt den Textinhalt (die Zeichenfolgen "str1" und "str2") durch Response.Write:
    Response.Write str1 & vbnewline
    Response.Write str2
    Response.End
    Bei "vbnewline" handelt es sich um eine Konstante aus VBScript (Visual Basic Scripting Edition), die die Zeichenwerte für Wagenrücklauf/Zeilenvorschub (CR/LF, Carriage Return/Line Feed) enthält. Beim Schreiben von str1 und str2 an den HTTP-Header wird zwischen die beiden Zeichenfolgen ein CR/LF geschrieben. Der Beispielcode in diesem Artikel verwendet Response.End, damit nach dieser Zeile kein weiterer Inhalt an den Client gesendet wird.

    HINWEIS: Sie können diesen Code verändern, um anstelle von Textinhalt eine Binärdatei zu schreiben. In diesem Fall müssen Sie die ContentType-Eigenschaft ändern. Wenn Sie z. B. eine Microsoft Excel-Datei schreiben, legen Sie ContentType auf "application/msexcel" fest. Außerdem müssen Sie Response.BinaryWrite anstelle von Response.Write verwenden. Weitere Informationen erhalten Sie, wenn Sie auf die nachstehende Artikelnummer klicken, um den entsprechenden Artikel in der Microsoft Knowledge Base anzuzeigen:
    276488  (http://support.microsoft.com/kb/276488/EN-US/ ) HOWTO: Use the ADODB.Stream Object to Send Binary Files to the Browser through ASP

Problembehandlung

Weitere Informationen über mögliche Probleme bei der Verwendung von "content-disposition" erhalten Sie, wenn Sie auf die nachstehenden Artikelnummern klicken, um die Artikel in der Microsoft Knowledge Base anzuzeigen:
182315  (http://support.microsoft.com/kb/182315/EN-US/ ) FIX: Content-Disposition: Does Not Force File Download Dialog
279667  (http://support.microsoft.com/kb/279667/EN-US/ ) BUG: Content-Disposition Attachment Headers Does Not Save File
In anderen Browsern empfiehlt es sich unter Umständen, "content-disposition" auf "application/octet-stream" festzulegen, da einige Webbrowser nicht den Dateidownload anfordern, sondern den Typ "text/plain" behandeln.

VERWEISE

Weitere Informationen erhalten Sie, wenn Sie auf die nachstehende Artikelnummer klicken, um den entsprechenden Artikel in der Microsoft Knowledge Base anzuzeigen:
260519  (http://support.microsoft.com/kb/260519/EN-US/ ) HOWTO: Raise a "File Download" Dialog Box for a Known MIME Type
Die Kontaktinformationen zu Drittanbietern im vorliegenden Artikel dienen lediglich dazu, Ihnen die Suche nach dem benötigten technischen Support zu erleichtern. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Microsoft übernimmt für die Richtigkeit dieser Kontaktinformationen von Drittanbietern keinerlei Garantie.




Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Active Server Pages 4.0
Keywords: 
kbgrpdsasp kbhowto kbhowtomaster KB300108
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Retired KB ArticleDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

SPRACHE AUSWÄHLEN