Wenn wir an Webprojekten arbeiten, müssen wir häufig die Funktion des Hochladens von Dateien verwenden. Das Hochladen verschiedener Dateien in einer Browser-/serverbasierten Anwendungsumgebung hat jedoch immer gegossen. Wie ist die Methode von ASP zum Hochladen von Dateien?
eins. Analyse des Implementierungsprinzips des Datei -Uploads basierend auf ASP
Das Grundprinzip ist: Verwenden Sie die BinaryRead -Methode des ADO -Stream -Objekts, um alle Daten im Formular vorzulesen, die erforderlichen Dateidaten abzufangen und in Binärdateien zu speichern.
Hier ist ein Beispiel für die Seite Upload -Datei (Upload.htm):
<html><body><form name="Upload" Method="Post" Enctype="multipart/form-data" Action="Upload.asp"><input type="file" name="FileName"><INPUT TYPE="Submit" VALUE="Upload"></TD></form></body></html>
Das Dateiobjekt wird im Programm verwendet, so dass die ursprünglichen Daten mithilfe der BinaryRead -Methode in Upload gelesen werden. ASP enthält nicht nur die Daten der ausgewählten Datei selbst, sondern enthält auch Beschreibungen des Pfades, der Formulardomänenname der Einreichungsseite und anderen zugehörigen Informationen auf der Hardfabrik des Benutzers. Auf diese Weise müssen wir den spezifischen Inhalt der Datei daraus extrahieren. Laut der Analyse sind die Trennlinie zwischen den Header -Informationen der Daten und den Daten zwei Paare der Kutschenrückkehrlinienbrüche, und am Ende trennten auch Informationen. Wir können eine ähnliche Methode verwenden, um Dateidaten zu erhalten.
Dim formData.Formsize, DataStart, Clstr, divstrformsize = request.totalBytesFormData = request.BinaryRead (Formsize) clstr = chrb (13) & chrb (10) datAstart = Instrb (FormData.clstr & clstr)+4'4 sind zwei die Länge der Länge des Markenrücklaufs -Bruchcharakters sind zwei DivStr = links (FormData, Instrb (FormData, Clstr) -1) dataSize = instrb (DataStart+1, FormData, DivStr) -Datastart-2FormData = Midb (FormData, DataStart, DataSeze) FormData ist der Inhalt der Datei.
Die entsprechende Behandlung kann nach Bedarf in der Mitte durchgeführt werden. Die letzte Aufgabe besteht darin, die Datei zu speichern. Es gibt zwei Möglichkeiten zum Speichern: Eine besteht darin, Binärdatei -Betriebsmethoden in Programmen wie VB oder VC zu verwenden, dem Projekt entsprechende Bibliotheken hinzuzufügen und schließlich in eine DLL -Datei zu kompilieren und die DLL -Datei bei der Verwendung zu registrieren. Das Dateispeicherprogramm lautet wie folgt:
Public Function SaveFile(Pathname As String) As String Dim objContext As ObjectContext Dim objRequest As Request Set objContext=GetObjectContext() Set objRequest=objContext("Request") 'The following piece of code is a related operation for file storage Dim FormData() As Byte,CLStr,DivStr Dim DataStart As Long,DataSize As Long DataSize = objRequest.TotAlBytes Redim formData (DataSize-1) formData = objRequest.BinaryRead (DataSasize) clstr = chrb (13) & chrb (10) datAstart = instrb (formData, clstr & clstr) +4 divstr = linke (FormData, Instrument (Formdata, CLSTR), CLSTR. DataSize = Instrb (DataStart+1, FormData, DivStr) -DatAstart-2 FormData = Midb (FormData, DataStart, DataSize) 'Erstellen Sie eine binäre Datei und schreiben Sie FormData, um den Pfadname für binäre Binärdateien zu öffnen. EndfunktionDie zweite Methode besteht darin, die im ADO -Stream bereitgestellte Binärdatei -Betriebsmethode zu verwenden. Die Anweisung zum Speichern der Datei lautet: StreamObj.SavetoFile (Dateiname, 2). In dieser Art von Operation können wir die relevanten Vorgänge in einer Klassendatei speichern. Fügen Sie bei der Bewerbung einfach die Klassendatei in das ASP -Programm auf. Weitere Verarbeitungsmethoden finden Sie in der relevanten Einführung.
zwei. Beispiel für Datei -Upload -Implementierungsmethode
Um Datei-Uploads zu implementieren, können Sie Komponenten oder Komponenten-freie Methoden verwenden. Für Komponentenklassen wie Microsoft Posting Acceptor (kurz MPA) handelt es sich um eine kostenlose Serverkomponente, die von Microsoft veröffentlicht wurde. Die Installation solcher Komponenten ist ebenfalls bequemer. Führen Sie für Microsoft MPA einfach seine Installationsdateien aus. Für das allgemeine DLL -Komponentenformular müssen wir uns registrieren. Um beispielsweise ASPCNUp.dll zu verwenden, führen Sie einfach RegSVR32 [PATH/] ASPCNUP.dll im Fenster 2000 aus, und das System fordert, dass die Registrierung erfolgreich ist, diese Komponente verwenden. Fügen Sie bei der Verwendung bei der Verwendung bei der Verwendung die folgenden Aussagen in den Handler auf:
<!-#include file = "upload.inc"-> Setzen Sie Upload = new Upload_5xsoft 'Upload-Objekt erstellen
Für Eigenschaften und Betriebsmethoden finden Sie im Benutzerhandbuch dieser Komponente.
Im Folgenden finden Sie den Quellcode (Upload.asp) zum Hochladen einiger Arten von Dateien mithilfe der ASPCNUP.dll -Komponente als Beispiel:
<% @ Sprache = "vbscript" set FileUp = server.createObject ("ASPCN.Upload") FileUp.maxSize = 200000 FileUp.path = "d:/upFile" FileUp.Upload für i = 0 to FileUp.count fieldname = tefieldname (i) if FileUp.FileType (Fieldname) = " ileup.filetype (fieldname) = "rar", dann FileUp.save fieldname enden Wenn nächstes DateiEp = Nothing%>Das Browser/Server -Anwendungsmodell entwickelt sich weiterhin schnell. In der neu gestarteten ASP.NET von Microsoft wurde die Datei-Upload-Funktion integriert, wodurch sie sehr einfach und bequem zu bedienen ist. Als brandneue Technologie ist ASP.NET nicht nur ein einfaches Upgrade von ASP. Es ist ein brandneues Rahmen für die Webentwicklung, das viele neue Funktionen enthält. ASP.NET bietet einfacher zu schreiben und struktureller Code, und wir können einfacher wiederverwenden und freigeben, wodurch praktischere Programme entwickelt werden.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, den falschen neuen Technologiekanal zu unterstützen!