Ich glaube, jeder hat diese Erfahrung: Es gibt einen Link auf der Seite, der auf eine Wortdatei auf dem Server zeigt. Wenn der Client -Computer ein Büro installiert hat, werden auf dem Link aufgerufen, um zu öffnen und zu durchsuchen. Wenn der Client -Computer nicht im Büro installiert ist, wird das Dialogfeld Speichern speichern. Zusammenfassend lässt sich sagen, dass der Browser den Dateityp kennt, er wird automatisch geöffnet. Wenn es nicht weiß, wird der Kunde zum Speichern aufgefordert. Aber manchmal hoffen wir, dass wir sie unabhängig von der Art von Datei nicht öffnen und den Kunden direkt speichern lassen. Um diese Anforderung zu erfüllen, müssen die auf der Server -Festplatte gespeicherten Dateien mithilfe der SendBinary -Methode der Aspupload -Komponente implementiert werden. Für Dateien, die in der Datenbank gespeichert sind, müssen Sie nur den Datensatzsatz öffnen und die Binärdaten direkt an den Client ausgeben. Sie müssen jedoch den MIME -Typ der Browserdatei, den Dateinamen und die Dateigröße der Browserdatei mitteilen.
1. Dateien auf der Server -Seite Festplatte
Die Codekopie lautet wie folgt:
<%
Dimupload, filepath
SetUpload = server.createObject ("Perssites.Upload")
Filepath = server.mappath (".") & "/" & "2003529213019.txt"
'SendBinary Parameter Beschreibung:
'Parameter 1: Physischer Pfad Datei
Parameter 2: Ob übertragen Informationen wie MIME -Typ der Datei in den Browser übertragen werden sollen
'Parameter 3: Dateityp.
'Parameter 4: Lassen Sie den Client die Datei speichern oder direkt öffnen. Richtig: Speichern; Falsch (Standard): Öffnen
Upload.SendBinaryFilePath, True, "Anwendung/Oktett-binär", true
%>
2. Dateien in der serverseitigen Datenbank
Die Codekopie lautet wie folgt:
<%
Dimobjconn, objrs
SetObjconn = server.createObject ("adodb.Connection")
SetObjrs = server.createObject ("adodb.recordset")
objconn.open "treiber = {Microsoft AccessDriver (*. Mdb)}; dbq =" & server.mappath ("db1.mdb")
objrs.open "select*fromT5whereId = 2", objconn, 1,3
Antwort.ContentType = "Anwendung/Oktett-Stream"
Antwort.AddHeader "Inhaltsdisposition", "Anhang; Dateiname =" & objrs ("Dateiname")
Response.addHeader "Inhaltslänge", cstr (objrs ("Größe") 'Hier müssen Sie mit CSTR konvertieren
Response.binarywriteObjrs ("Datei")
objrs.close
SetObjrs = nichts
objconn.close
SetObjconn = nichts
%>
Diese Methode erfordert, dass der Dateinamen und die Dateigröße gleichzeitig gespeichert werden müssen, wenn die Datei gespeichert wird! Wenn der Dateiname und die Größe nicht angegeben sind, wird der Browser den Dateityp kennt, er wird automatisch geöffnet. Wenn es nicht weiß, wird der Kunde aufgefordert, zu sparen!