ASPSmartUpload
composant et mode d'emploi
tous les tutos
télécharger l'archive .ZIP
FORMULAIRE CREATION de l’OBJET COLLECTION FILES COLLECTION FORM Exemple Compléments
Actions et propriétés
Le composant ASPSmartUpload (gratuit) permet de gérer les téléchargements de FICHIERS ou de DONNEES en Upload ou en Download à partir d'un serveur hôte.
Ce composant puissant et gratuit offre une gestion avancée des transferts de fichiers en flux montant ou descendant, avec notamment un contrôle des fichiers en Upload, la restriction sur leurs caractéristiques en Download ou encore la gestion des formulaires en mode mixte.
Le composant ASPSmartUpload comporte un objet principal, appelé SmartUpload,
lui-même comprenant deux collections :
- collection Files (pour les fichiers : type="file")
- collection Form (pour les donnees : type="text", …)
INSTALLATION :
Copier ces 2 fichiers sur votre serveur : aspSmartUpload.dll et aspSmartUploadUtil.dll
FORMULAIRE
A- LE FORMULAIRE : (Obligatoire : enctype="multipart/form-data")
<form method="post" enctype="multipart/form-data">
      <input type="file" name="MONFICHIER"><br />
      <input type="text" name="MONTEXTE"><br />
      <input type="submit" value="Enregistrer">
</form>
B- RECUPERATION des champs du formulaire : voir l'exemple
Important : comme on a un formulaire avec enctype="multipart/form-data",
ON NE PEUT PLUS récupérer les champs de données (type="text") avec request.form("...") !
On doit passer par le composant AspSmartUpload.
CREATION de l’OBJET
<%
' Création de l objet :
On Error Resume Next
Set MonUPLOAD = Server.CreateObject("aspSmartUpload.SmartUpload")
' ...
' ... - propriétés - actions - traitement files et data - ...
' ...
' Fermeture de l objet (à la fin du traitement) :
Set MonUPLOAD = Nothing
%>
PROPRIETES :
On peut spécifier des propriétés ou restrictions pour l'Upload.
MonUPLOAD.TotalMaxFileSize=2000000
                  taille maximale totale autorisée pour l'upload de fichiers (en octets).
MonUPLOAD.MaxFileSize=1000000
                  taille maximale autorisée par fichier lors de l'upload (en octets).
MonUPLOAD.AllowedFilesList="gif,jpg,jpeg"
                  liste des extensions des fichiers autorisées pour l'upload.
MonUPLOAD.DeniedFilesList="exe,php,asp,txt"
                  liste des extensions des fichiers refusées lors de l'upload.
MonUPLOAD.DenyPhysicalPath=true (par défaut = false)
                  empêche l'enregistrement de fichiers dans des répertoires autres que les répertoires virtuels.
MonUPLOAD.ContentDisposition="attachment;" ="inline;" ou =""
                  modifie le content-disposition.
MonUPLOAD.DownloadBlockSize=4096
                  taille des blocs d'une source de données lues.
MonUPLOAD.TotalBytes
                  retourne la taille totale des données transmises (en octets).
MonUPLOAD.BinaryData(indice)
                  retourne l'octet correspondant à l'indice du tableau contenant les données transmises.
ACTIONS :
Les différentes actions de traitement du formulaire.
MonUPLOAD.UpLoad
                 exécute le transfert en upload du formulaire.
MonUPLOAD.Save
                  sauvegarde tous les fichiers transmis. (après MonUPLOAD.UpLoad)
ou
MonUPLOAD.DownloadFile "c:\temp\myfile.txt", "text/plain", "newfile.txt"
                 exécute le transfert en download d'un Fichier.
MonUPLOAD.DownloadField myRecordSet("FILE"), "text/plain", "newfile.txt"
                 télécharge un fichier à partir d'une base de données.
MonUPLOAD.FieldToFile myRecordSet.Field("FILE"), "c:\temp\myFile.txt"
                 crée un nouveau fichier contenant les données d'un champ d'une table d'une base de données.
MonUPLOAD.UploadInFile "c:\temp\myData.txt"
                 enregistre le formulaire complet dans un Fichier.
COLLECTION FILES
(récupération des fichiers type="file")
MonUPLOAD.Files.Count
                 retourne le nombre de champs (de type fichier)
MonUPLOAD.Files.TotalBytes
                 retourne la taille totale en octets de la collection Files.
<% 
for each Fichier in MonUPLOAD.Files
if not Fichier.IsMissing then  ' seulement si le champ a ete renseigne
   ' ... (c'est ici qu'on fait appel aux fonctions et actions de la collection Files)
end if
next
%>
FONCTIONS de la Collection Files :
Fichier.Name
                  retourne le nom du champ du formulaire.
Fichier.FileName
                  retourne le nom du fichier saisie par l'utilisateur.
Fichier.FileExt
                  retourne l'extension du fichier saisie par l'utilisateur.
Fichier.FilePathName
                  retourne le chemin du fichier saisie par l'utilisateur.
Fichier.ContentType
                  retourne le Content-Type du fichier saisie par l'utilisateur.
Fichier.ContentDisp
                  retourne le Content-Disposition du formulaire
Fichier.Size
                  retourne la taille du Fichier.
Fichier.ContentString
                  retourne le contenu du fichier dans une chaîne de caractères.
Fichier.TypeMIME
                  retourne le type MIME du fichier saisie par l'utilisateur.
Fichier.SubTypeMIME
                  retourne le sous-type MIME du fichier saisie par l'utilisateur.
Fichier.IsMissing
                  retourne True si l'utilisateur n'a pas saisi de Fichier.
Fichier.BinaryData
                  retourne l'octet correspondant à l'indice du tableau contenant les données transmises.
ACTIONS de la Collection Files :
Fichier.SaveAs
                  sauvegarde le fichier sur le disque.
Fichier.FileToField
                  sauvegarde le contenu d'un fichier dans le champ d'une table d'une base de données.
COLLECTION FORM
(récupération des fichiers type="text")
MonUPLOAD.Form.Count
                  retourne le nombre de champs (de type donnees)
MonUPLOAD.Form(index).Name
                  retourne le nom du champ index
MonUPLOAD.Form(index).Values
                  retourne la valeur du champ index
Pour lister tous les champs de type données :
<% 
i=1
While ( i <= MonUPLOAD.Form.Count )
MonUPLOAD.Form(i).Name
      ' retourne le nom du champ du formulaire.
MonUPLOAD.Form(i).Values
      ' retourne les valeurs du champ du formulaire.
i = i + 1
Wend
%>
Pour obtenir la valeur d'un champ en particulier : (name="MONTEXTE")
<%= MonUPLOAD.Form("MONTEXTE") %>
EXEMPLE d'utilisation des fonctions
Exemple avec 2 champs "file", 2 champs "text", 1 champ "textarea"
Résultats : affichage des valeurs de différentes fonctions
Compléments
Autres composants ASP : Upload
composant AspImage
csASPUpload
ou autres
Autres composants ASP : Traitement d'images
csImageFile
ou autres
Upload sans composant
Upload sans composant ASP
code sur www.aspfr.com
Upload de GROS fichiers (plus de 100 Mo)
www.motobit.com - Huge ASP upload (jusqu'à 2 Go !)
www.motobit.com - Pure ASP upload (version gratuite, jusqu'à 10 Mo)
FORMULAIRE CREATION de l’OBJET COLLECTION FILES COLLECTION FORM Exemple Compléments
2009 - Jérôme Réaux - open source