Documentation

Sources :

http://j-reaux.developpez.com/tutoriel/asp/aspsmartupload/

2 DLLs sont fournies ->  ASP-ASPSmartUpload.zip

  1. Créer un dossier D:\wwwroot\Serveur_Name\_upload\DLL
    Copier et enregistrer aspSmartUpload.dll
  2. Donner à ce dossier les droits en exécution pour l'utilisateur qui fera l'upload (anonymous, login spécifique, Utilisateur Authentifié etc...)
  3. Copier aspSmartUploadUtil.dll dans system32 (ou tester dans un dossier dont le chemin est dans la variable %path% du serveur.
  4. Créer un dossier d'upload D:\wwwroot\Serveur_Name\_upload\Upload avec des droits en écriture pour l'utilisateur qui fera l'upload (anonymous, login spécifique, Utilisateur Authentifié etc...)
  5. Créer un dossier Web virtuel pour accéder aux fichiers via le WEB
    Upload -> D:\wwwroot\Serveur_Name\_upload\Upload
  6. Enfin, les serveur IIS limite l'upload à 204800 octet. Si le fichier est plus gros, cela génère l'erreur
Objet Request erreur 'ASP 0104 : 80004005' 
Opération non autorisé 

Pour augmenter la valeur, modifier dans la métabase "C:\WINDOWS\system32\inetsrv\metabase.xml" la valeur :
 AspMaxRequestEntityAllowed="20000000" (ici, 20Mo)

La particularité de cet Upload et de gérer les autres enregistrements de formulaire envoyés comme F_Nom qui n'est plus géré à cause de la propriété  ENCTYPE="multipart/form-data"

(utilise aussi onchange="document.getElementById('myfileURL').innerHTML=this.value; document.forms.f_upload.MonPath.value =this.value;")
(utilise aussi  onchange="document.getElementById('myfileURL').innerHTML=this.value;")
(utilise aussi  onchange="document.forms.f_upload.MonPath.value =this.value;")

Le chemin local va s'afficher ici !

Pour l'affichage sans C:\fakepath, lire cette documentation pour Internet Explorer

Nom :

Source:

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript.asp">
<INPUT TYPE=FILE SIZE=60 NAME="FILE1"><BR>
<INPUT TYPE=FILE SIZE=60 NAME="FILE2"><BR>
Nom : <input type="text" name="F_Nom" size="20"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload!">
</FORM>
Documentation - ASP-ASPSmartUpload.zip

Vérifier aussi ce point pour la propriété "BinaryData" utilisée ainsi :

Width=mySmartUpload.Files("image").BinaryData(7) * 256 + mySmartUpload.Files("image").BinaryData(6) 
Height=mySmartUpload.Files("image").BinaryData(9) * 256 + mySmartUpload.Files("image").BinaryData(8)