Aspsmartupload - mode d emploi

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.

TELECHARGER le composant AspSmartUpload (zip)

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:

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 AspSmartUpload !

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, .)

1- CREATION de l'OBJET:

<%
' Création de l objet :
On Error Resume Next
<gras>Set</gras> MonUPLOAD =<gras> Server.CreateObject("aspSmartUpload.SmartUpload")</gras>
' ...
' ... - propriétés - actions - traitement files et data - ...
' ...
' Fermeture de l objet (à la fin du traitement) :
<gras>Set</gras> MonUPLOAD = <gras>Nothing</gras>
%>

- 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.

2- 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
%>

Les 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.

Les 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.

3- COLLECTION FORM
(récupération des fichiers TYPE=TEXT, ...)

MonUPLOAD.Form.Count
retourne le nombre de champs (de type donnees)

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") %>
Ce document intitulé « Aspsmartupload - mode d emploi » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous