Utilisation du script téléchargé
Vous trouverez ci-dessous un exemple du script téléchargé pour le développement. Le fichier de téléchargement de cet article fournit les fichiers et le code dans l'exemple. Libérez le fichier compressé sur un chemin et configurez un chemin virtuel pour votre serveur réseau. Vous pouvez tester et démarrer le uploadform.html dans le navigateur.
Script d'appel
Vous trouverez ci-dessous le moyen d'appeler à la méthode BuilpoLoadRequest. Appelez d'abord un processus complet: uploadRequest. Ensuite, appelez la méthode BuilUploadRequest, puis transmettez-la aux données binaires d'origine de la demande dans la variable indépendante.
byteCount = request.totalbytes
RequestBin = request.binaryRead (byteCount)
dim uploadRequest
set uploadRequest = CreateObject
BuiltuploadRequest requestbin
Les données sont décomposées et stockées dans l'objet dictionnaire et récupérées avec la méthode item (). Ces données d'élément peuvent être stockées dans des variables VBScript et peuvent être utilisées n'importe où dans le code. Les données peuvent être transmises en réponse au client, ou utilisées dans le code ASP, ou dans le fichier et mettre dans la base de données.
Récupérer les données
Les données de l'objet UploadRequest peuvent être accessibles avec la fonction élément ("clé"). Examinons cette situation maintenant: pour accéder à la valeur d'un contrôle par e-mail. Vous pouvez faire ceci:
Email = uploadRequest.Item ("Email").
Comme il s'agit d'un contrôle de texte, le contenu est une chaîne, cette chaîne peut être utilisée comme n'importe quelle autre chaîne VBScript. Pour les données binaires, vous pouvez restaurer le contenu dans la même méthode:
Piction = uploadRequest.item ("blob").
Vous pouvez également accéder à d'autres informations, telles que le nom de fichier et le type de contenu. Ils sont le contrôle du texte.
ContentType = uploadRequest.item ("blob").
filePathName = uploadRequest.item ("blob").
Utiliser des données dans le code VBScript
Les données téléchargées peuvent être utilisées dans le code VBScript comme d'autres variables. Par exemple, ils peuvent renvoyer au client en réponse.
Votre e-mail est: <% = e-mail%>
Le nom de fichier de Young est <% = filepathname%>
Le type de fichier de votre piction est <% = contentType%>
Les données binaires peuvent également être renvoyées au client. Un type de contenu doit être défini et les données binaires peuvent être utilisées pour écrire la méthode BinaryWrite.
Response.ContentType = ContentType Response.BinaryWrite Piction
Écrire des données téléchargées dans le fichier
Dans le cas du contrôle des classes de fichiers, le but est de stocker des données binaires dans un domaine de fichiers ou de base de données au lieu de les transmettre au client. Cet objectif est les caractéristiques inhérentes du téléchargement de fichiers. Utilisez l'objet de système de fichiers pour stocker le fichier téléchargé dans le système de fichiers du serveur.
Créez d'abord un objet de système de fichiers:
'Créer un composant FileSyTemObject ScriptObject = Server.CreateObject ("Scripting.FileSystemObject")
Utilisez l'objet de système de fichiers pour créer un fichier dans le chemin d'accès. Le chemin peut être absolu, pointant directement le système de fichiers (tel que c: / temp). Il peut également être relatif, sous un chemin virtuel défini par le serveur réseau. Utilisez la méthode Mappath et la variable Path_info Server pour emprunter le chemin virtuel vers le chemin absolu.
La méthode d'écriture nécessite une chaîne à double byte en tant que variable indépendante, donc le numéro d'octet unique est converti en chaîne. La méthode d'écriture est responsable de la conversion de cette chaîne à double byte et de l'écriture au format ASCII. Cela établit un contenu binaire contenant notre chaîne d'origine unique. J'ai nommé ce fichier "Téléchargé + nom de fichier".
'Créer et écrire dans un fichier set myfile = scriptObject.createTextFile (server.mappath (request.servervariables_ ("path_info") & "uplowed" & filename)
pour i = 1 à Lenb (valeur)
MyFile.Write Chr (ASCB (Midb (valeur, i, 1)))
suivant
myfile.close
Démarrez les données téléchargées dans la base de données
Les données peuvent également être stockées dans la base de données. Le type de contenu doit également être stocké dans la base de données afin que les données puissent être affichées plus tard. Tout d'abord, nous devons établir une connexion avec la base de données.
Définir Conn = Server.CreateObject ("Adodb.Connection")
conn.open "dsn = wroxdns", "utilisateur", "passer"
Créez ensuite un ensemble d'enregistrements à partir de la connexion:
SQL = "SELECT Photo, ContentType from MyTable"
set rs = server.createObject
Rs.OOPEN SQL, Conn, 3, 3, 3
Une fois l'ensemble d'enregistrements créé, mettez les données binaires dans le domaine blob de la base de données:
pictureChunk = Photo & chrb (0)
Rs.fields ("Piction").
Rs.Fields ("ContentType") = ContentType
Rs.Update
Conn.Close
Dans la méthode ApendChunk, je dois résoudre un bug. En fait, j'ai remarqué que lorsque les données binaires ont des octets de nombre étranges, la méthode de l'appendise ne transmet pas le dernier octet. La solution consiste à ajouter un chr (0) pour s'assurer que tous les octets sont transmis. Il existe peut-être d'autres méthodes, si oui, dites-moi.
Pour obtenir la réflexion de la base de données, utilisez le même ensemble d'enregistrements et utilisez le type de contenu correct pour le renvoyer au client en réponse.
Response.ContentType = Rs.fields ("ContentType")
Taille = Rs.Fields ("Piction").
Blob = Rs.Fields ("Piction").
réponse.binarywrite blob
en conclusion
Cet article montre un moyen complet de déposer le fichier avec VBScript. Le codage est complètement VBScript, indépendamment des produits de troisième partie.
Introduisez d'abord le processus de téléchargement (en utilisant le contenu "multipart / form-data" pour HTML). Présentez ensuite le code VBScript téléchargé en détail. Au début, une brève revue de la fonction VBScript de la chaîne de fonctionnement et une série de nombres d'octets. Introduisez ensuite le code du script et la structure de téléchargement des données.
Enfin, plusieurs objectifs de ce script, de la téléchargement de variables dans le code ASP vers la base de données ou les systèmes de fichiers pour stocker des fichiers de téléchargement.
Cliquez sur le lien ci-dessous pour télécharger <a href = "http://www.asptoday.com/articles/images/20000316.zip"> Le code de routine de cet article.