 |
ASPSmartUpload
composant et mode d'emploi |
tous les tutos |
|
|
|
|
| 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 |
masquer le code
<html>
<head><title>ASPSmartUpload - Exemple</title></head>
<body>
<div align="left">
<b>Le FORMULAIRE :</b><br /><br />
<form method="post" enctype="multipart/form-data">
Fichier 1 : <input type="file" name="FICHIER1" size="20"><br
/>
Description 1 : <input type="text" name="DESCR1" size="40"><br
/><br />
Fichier 2 : <input type="file" name="FICHIER2" size="20"><br
/>
Description 2 : <input type="text" name="DESCR2" size="40"><br
/><br />
Commentaire : <textarea name="COMMENTAIRE" rows="3"
cols="35"></textarea><br /><br />
<input type="submit" name="submit"
value="VALIDEZ pour afficher les infos"><br />
</form>
(remarque : l'option d'enregistrement a été désactivée)<br
/><br />
<%
' --------------------------------------------------------------------------------------
' TRAITEMENT du formulaire
' --------------------------------------------------------------------------------------
' Création de l objet
On Error Resume Next
Set MonUPLOAD = Server.CreateObject("aspSmartUpload.SmartUpload")
' --------------------------------------------------------------------------------------
' Placez ICI les PROPRIETES ou restrictions eventuelles pour les fichiers
MonUPLOAD.TotalMaxFileSize = 1000000 ' (1000ko max total)
MonUPLOAD.MaxFileSize = 500000 ' (500ko max par fichier)
MonUPLOAD.AllowedFilesList = "jpg,jpeg,gif,png" ' (ici : images uniquement)
MonUPLOAD.DeniedFilesList = "bat,exe,com,asp,php,pdf,txt,doc,xls"
' ...
' --------------------------------------------------------------------------------------
' upload du formulaire
MonUPLOAD.Upload
' --------------------------------------------------------------------------------------
' gestion des ERREURS
if (err<> 0 and err<>9) then
' affichage d'une alerte en cas d erreur (restrictions imposees)
response.write "erreur : " & err.description
' Fermeture de l objet :
Set MonUPLOAD = Nothing
' Si pas d'erreur, on continue le traitement
elseif err<>9 then
' --------------------------------------------------------------------------------------
' chemin vers le dossier MESFICHIERS
'
pour enregistrer les fichiers uploades (dossier deprotege = droits en ecriture)
' (remarque : l'option d'enregistrement a été désactivée
ici)
' cheminlong = Server.MapPath(".\MESFICHIERS") & "\"
' --------------------------------------------------------------------------------------
%>
<b>Les DONNEES :</b> (<%= MonUPLOAD.Form.Count %>)<br /><br
/>
<%
i=1
while (i <= MonUPLOAD.Form.Count)
%>
Name : <%= MonUPLOAD.Form(i).Name %><br />
Values : <%= MonUPLOAD.Form(i).Values %><br />
<%
i = i+1
wend
%>
<br />
<b>Les FICHIERS :</b> (<%= MonUPLOAD.Files.Count %>)<br />
TotalBytes : <%= MonUPLOAD.Files.TotalBytes %><br /><br />
<%
' --------------------------------------------------------------------------------------
for each Fichier in MonUPLOAD.Files
if not fichier.IsMissing then ' seulement si le champ a ete renseigne
%>
Name : <%= Fichier.Name %><br />
FileName : <%= Fichier.FileName %><br />
FileExt : <%= Fichier.FileExt %><br />
FilePathName : <%= Fichier.FilePathName %><br />
ContentType : <%= Fichier.ContentType %><br />
ContentDisp : <%= Fichier.ContentDisp %><br />
Size : <%= Fichier.Size %><br />
TypeMIME : <%= Fichier.TypeMIME %><br />
SubTypeMIME : <%= Fichier.SubTypeMIME %><br />
IsMissing : <%= Fichier.IsMissing %><br />
BinaryData : <%= Fichier.BinaryData %><br /><br />
<%
' -------------------------------------------------
' enregistrement dans le dossier MESFICHIERS
' (fonction desactivee ici)
' Fichier.SaveAs cheminlong & Fichier.FileName
' -------------------------------------------------
end if
next
' --------------------------------------------------------------------------------------
' Fermeture de l objet :
set MonUPLOAD = nothing
' --------------------------------------------------------------------------------------
end if ' fin si pas d'erreur
%>
</div></body></html> |
|
|
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) |
|
|
|
2009 - Jérôme Réaux - open source |