un. Analyse du principe de mise en œuvre du téléchargement de fichiers basé sur ASP
Le principe de base est: utilisez la méthode BinaryRead de l'objet ADO Stream pour lire toutes les données du formulaire, intercepter les données de fichiers requises et les enregistrer dans des fichiers binaires.
Voici un exemple de la page de fichier de téléchargement (upload.htm):
< Html >< Body >< Form name = "upload" method = "post" EncType = "multipart / form-data" action = "upload.asp"> < entrée type = "file" name = "filename"> < entrée type = "soumide" value = "upload"> < / td> < / form> < / body> < / html>
L'objet de fichier est utilisé dans le programme, de sorte que les données d'origine lues en utilisant la méthode BinaryRead dans upload.asp n'est pas seulement les données du fichier sélectionné lui-même, mais contient également des descriptions du chemin, type, nom de domaine de la page de soumission et d'autres informations connexes sur le disque dur de l'utilisateur. De cette façon, nous devons extraire le contenu spécifique du fichier à partir de celui-ci. Selon l'analyse, la ligne de démarcation entre les informations d'en-tête des données et les données est de deux paires de ruptures de ligne de retour du chariot, et il y a également des informations séparant à la fin. Nous pouvons utiliser une méthode similaire pour obtenir des données de fichiers.
Dim FormData.Formsize, DataStart, ClStr, DivStRormSize = request.TotalBytesFormData = request.BinaryRead (Formsize) CLStr = Chrb (13) & Chrb (10) DataStart = instrb (formdata.clstr & clstr) + 4'4 sont deux longueurs de la ligne de retour de la ligne de retour de transport. DivStr = LeftB (formdata, instrb (formdata, clstr) -1) dataSize = instrb (dataStart + 1, formdata, divStr) -datastart-2formData = midb (formdata, dataStart, dataSize) FormData est le contenu du fichier.
Le traitement correspondant peut être effectué au besoin au milieu. Le travail final consiste à enregistrer le fichier. Il existe deux façons d'économiser: la première consiste à utiliser des méthodes de fonctionnement de fichiers binaires dans des programmes tels que VB ou VC, ajouter des bibliothèques de type appropriées au projet et enfin la compiler dans un fichier DLL et enregistrer le fichier DLL lors de l'utilisation. Le programme de stockage de fichiers est le suivant:
Fonction publique SaveFile (pathName as String) As String Dim Dim objContext As objectContext Dim objRequest As Demande Set OBJContext = GetObjectContext () Set ObjRequest = ObjContex Redim formdata (dataSize-1) formData = objRequest.binaryRead (dataSize) Clstr = chrb (13) & chrb (10) dataStart = instrb (formdata, clstr & Clstr) +4 divstr = LeftB (formdata, instrb (formdata, clstr) -1) datasize = install Formdata = midb (formdata, dataStart, dataSize) 'Créer un fichier binaire et écrire FormData pour ouvrir le chemin d'accès pour le binaire comme 1 put # 1 ,, formdata close # 1 savefile = "ok!" Fonction finale
La deuxième méthode consiste à utiliser la méthode de fonctionnement du fichier binaire fournie dans ADO Stream pour la terminer. L'instruction pour enregistrer le fichier est: streamobj.savetofile (nom de fichier, 2). Dans ce type d'opération, nous pouvons stocker les opérations pertinentes dans un fichier de classe. Lors de l'application, incluez simplement le fichier de classe dans le programme ASP. Pour des méthodes de traitement spécifiques, veuillez vous référer à l'introduction pertinente.