UPLOADER UN FICHIER SANS COMPOSANT ! {NOUVELLE METHODE}

Nix - 22 avril 2001 à 13:50
aqkoukou Messages postés 1 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 17 juin 2008 - 17 juin 2008 à 11:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8645-uploader-un-fichier-sans-composant-nouvelle-methode

aqkoukou Messages postés 1 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 17 juin 2008
17 juin 2008 à 11:24
Bravo pour ce source.
Juste un problème de syntaxe qui me bloque

Dans MonUpload.NouveauNom = je souhaite récupérer un code d'une page précédente par code=request("cod")et composer un nouveau nom tel que
"\images" & code & "-" & MonUpload.NomFichier(i)
Cette syntaxe ne marche pas. J'en ai essayé un tas d'autres bien sûr.
Merci de votre aide précieuse.
Aqkoukou
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014
30 juil. 2007 à 12:03
Bonjour,
J'ai résolu le pb (que certains ont eu ici aussi) ligne 128 type incompatible (type mismatch): remplacer la procedure ainsi:

Private Sub Class_Terminate()
ReDim NomDesFichier(0)
ReDim LesFichiers(0)
ReDim TailleDesFichier(0)
End Sub

Set NomDesFichier = Nothing : ça rime à rien vu que la variable n'est pas un objet, donc ça pete. En plus c'est à cause du option explicit, sinon je suis sur que ça passerait ^^

Par contre si on a l'erreur suivante, que faire?

Erreur de compilation Microsoft VBScript erreur '800a0400'
Instruction attendue
Option Explicit
^
kevtuning Messages postés 10 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004
23 nov. 2006 à 08:30
C'est un problème de IIS 6.0

tu trouveras la solution ici... http://support.softartisans.com/kbview_900.aspx
DOLLEL Messages postés 15 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 14 avril 2011
22 nov. 2006 à 21:10
Rebonjour,

J'ai oublié de dire quelle commande provoque le message d'erreur "Operation not allowed", c'est "Request.Binaryread".

Merci.

Laurent
DOLLEL Messages postés 15 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 14 avril 2011
22 nov. 2006 à 19:58
Bonjour,

Ton code est un top depuis plusieurs années. Je l'utilise depuis pas mal de temps, mais depuis que j'ai transféré une appli de Win 2000 Server vers Win 2003, l'upload d'un gros fichier (>1Mo) provoque le message d'erreur: "Operation not allowed". Je cherche pourquoi depuis un certain temps. Peux-tu m'aider sur ce coup?

Merci d'avance.

Laurent
mimo_predator Messages postés 8 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 8 mai 2006
2 févr. 2006 à 15:38
Aussi c'est le seul point ou PHP bas ASP car les fichiers pour lui c'est natif dommage pour Microsoft.
mimo_predator Messages postés 8 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 8 mai 2006
2 févr. 2006 à 15:37
Je viens de lire l'article et trouve la méthode assez simpa. mais le seul hic c'est que pour récupérer les autre informations dans le formulaire comme INPUT ou SELECT ...; le problème c'est qu'il faut considérer les informations comme étant une information Binaire.


Pour info : le site suivant n'est pas valide : http://www.aspfr.com/article.asp?Val=119
cs_rodcobalt22 Messages postés 193 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 16 février 2016
8 sept. 2005 à 18:57
bonjour à tous
j'ai un problème concernant le , je n'arrive pas à le limiter à un certain type d'extension comme les images par exemple.
je fais bien un accept="image/*", mais rien à faire il me sort toujours la même fenêtre
Que faire ?
Merci
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
19 mars 2005 à 22:32
Ce code fonctionne a merveille,
mais quel est la taille maxi d'un fichier que l'on peut uploader ?

pour des fichiers inferieurs a 6 8 Mo cela fonctionne bien, mais pour des fichiers de 20 ou 30 Mo j'ai le message suivant :

Pages ASP error 'ASP 0113'
Délai d'exécution du script dépassé
Le délai maximal d'exécution d'un script a été dépassé. Vous pouvez changer cette limite en donnant une nouvelle valeur à la propriété Server.ScriptTimeout ou en changeant la valeur dans les outils d'administration d'IIS.

j'ai doublé le timeout sous IIS mais j'ai toujours le probleme,
je pense qu'il y a une limite de taille ????
avez vous une reponse ?
golfgcarel Messages postés 2 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004
7 oct. 2004 à 16:12
Bravo Nix,
j'ai la m^me erreur que d'autres personnes. l'upload se déroule parfaitement bien, mais j'ai une erreur :
"Erreur d'exécution Microsoft VBScript Support technique Microsoft "

Pourrais-tu m'aider, s'il-te-plait?

Golfgcarel
cs_fifi3 Messages postés 5 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 19 décembre 2003
25 nov. 2003 à 10:43
Bonjour à tous,

J'aurais besoin d'un petit coup de main, svp.
Je voudrais uploader un fichier du poste client vers le serveur en ASP/JavaScript (je n'ai pas le choix c'est la norme dans ma boite)
Le fichier est de type texte.

<form name="frmRecharge" id="frmRecharge" enctype="multipart/form-data" method="post" action="VAMiseaJour.asp">





</form>




Merci pour votre aide !

A+
Fifi3
kevtuning Messages postés 10 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004
20 nov. 2003 à 10:32
pour les gens qui ont un problème de Mid...

J'ai eu le meme probleme.... et c'etait du au dait que j'avais mis un nom à mon bouton submit...

il faut laisser et ne pas mettre de nom a ce bouton.... (vous pourvez bien sur changer le libelle) mais pas mettre name="bouton" ...
kevtuning Messages postés 10 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004
19 nov. 2003 à 11:49
juste pour vous dire de ne pas tenir compte de mon post precedent...

j'avoue... j'ai dit une connerie...

Bravo Nix...
kevtuning Messages postés 10 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004
19 nov. 2003 à 11:11
Bien joué Nix.... et en plus la classe est tres claire...

Par contre, il y a un petit qqch qui m'ennuie...

lorsque je fais un upload dans le meme repertoire que mes pages asp... il n'y a pas de probleme...

par contre lorsque je veux uploader dans un repertoire /upload/ par exemple (avec la permission d'ecriture etc...) ben j'ai
Erreur lors de l'écriture du fichier : pathupload
omdufichier.txt Permission denied
au moment du Set fs = fso.OpenTextFile(CheminLocal & LocalNomFichier, 2, True)

Si quelqu'un a une idee, elle est la bienvenue...

Merci
twawks Messages postés 2 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 13 novembre 2003
14 août 2003 à 10:15
Hello ! J'ai testé ton upload ! résultat : ca upload mais ca génère tout de même une erreur :( peux tu m'éclairer ?
A noter le beau travail que tu as fait !
Twawks


Fichier N° 1
Nom du fichier : aspfr_source_170.zip
Taille : 8974 octets
Extension : zip
Type mime : application/x-compressed
Nom de l'Input : Fichier1
Chemin distant : C:Documents and SettingsadminMes documentsaspfr_source_170.zip

Microsoft VBScript runtime error '800a000d'

Type mismatch

/upload/clsUplFich.asp, line 128
cs_zorlac Messages postés 17 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 14 août 2005
30 mai 2003 à 13:56
la classe est clair mais tu as qd mm du utilisé un composant... ;-)
pour le fso, beau boulot néanmoins
cs_demba Messages postés 1 Date d'inscription samedi 17 août 2002 Statut Membre Dernière intervention 19 août 2002
19 août 2002 à 02:49
Salut,
Je trouve le code trés bon. On aurait pu gérer la taille maximale à accepter pour uploader.
Mon problème : Aprés la saisie des ifos et le choix du fichier à uploader; je voudrais l'afficher avant de valider l'opération d'envoi.
ps : vous pouvez me répondre aussi à dembaro@hotmail.com
cs_ghislain Messages postés 1 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 2 août 2002
2 août 2002 à 11:11
bonjour,
je trouve que ça marche trés bien, mais comment dois-je faire, pour mettre le rapport dans une DB ou plutôt, ou dois-je mettre mon code, j'ai essayer dans uploadfichier.asp après le end select (j'ai essayé de le mettre avant aussi) et ça ne marche pas, le fichier est bien uploder mais la DB n'est pas mise à jour.
merci d'avance
ps: vous pouvez me répondre à gd@adtech.be
cs_epac Messages postés 1 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 26 juin 2002
26 juin 2002 à 08:36
Salut Nix, ton code me parait tres interessant mais me pose quelques soucis...
Tu trouveras ci dessous le message d'erreur qui m'est renvoyé.
8-)
e-PAC

Erreur de compilation Microsoft VBScript erreur '800a0401'

Fin d'instruction attendue

/epac/temp/clsUplFich.asp, ligne 29

Private Property Let AjoutNomFichier(LeNom)
-----------------^
rea1975 Messages postés 4 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 16 mai 2002
15 mai 2002 à 09:44
J'ai essayé ce code sur mon serveur mais ca marche pas, ca bloque le serveur lors du chargement et me renvoi une erreur comme quoi il a y plusieurs requétes simultanées.
cs_aluminium Messages postés 3 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 5 juillet 2002
6 mai 2002 à 09:57
je voudrais savoir comment on peut tester si le champ file a été rempli ou non car si il reste vide et qu'on veut enregistrer ce champ, il y a le message d'erreur 'lequel' qui apparait qd on écrit MonUpload.NomFichier(1)

elp me please
cs_BigDan2 Messages postés 1 Date d'inscription vendredi 19 avril 2002 Statut Membre Dernière intervention 19 avril 2002
19 avril 2002 à 22:19
Salut Nix, ton code fonctionne très bien,
Si le site est Anonymous, mais avec une sécurité d'une petite base Access (ce site privé et il est chez un provider et j'utilise Access pour gérer les usager), est-ce que nous pourrions envoyer un nom d'usager et un mot de passe (du serveur Web que le provider ma donner) pour éviter de donner des droits à anonymous d'écriture.
cs_kehel Messages postés 2 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 19 avril 2002
15 avril 2002 à 12:23
Je viens d'insérer ce code dans mes pages et j'ai cette erreur :
Erreur de compilation Microsoft VBScript erreur '800a0400'

Instruction attendue

Option Explicit
^

Que dois je faire ???

Merci
netjl Messages postés 2 Date d'inscription vendredi 1 février 2002 Statut Membre Dernière intervention 1 février 2002
1 févr. 2002 à 09:36
J'ai un pb, j'ai mis ton code sur un site distant et lorsque je lance le fichier, et que je valide, voici ce que j'obtiens :

Fichier N° 1
Nom du fichier : essai.txt
Taille : 65 octets
Extension : txt
Type mime : text/plain
Nom de l'Input : Fichier1
Chemin distant : C:Mes documentsessai.txt

Erreur lors de l'écriture du fichier : D:Inetpubwwwrootenlimousindossieressai.txt Permission refusée

POurquoi il prend D: .... au lieu du chemin dans lequel se trouve le fichier asp et comment lui indiquer le chemin de mon serveur ?

Merci
Merci pour le code
J'ai cette erreur qui se produit
Microsoft VBScript runtime error '800a000d'
Type mismatch
/infotab/test/clsUplFich.asp, line 128
très bien structué, tu devrais penser a créer une méthode ou tu peux uploader un répertoire de fichier complètement
Super !
Merci pour le code !!!
Au fait comment faire pour proposer un choix du répertoire de destination (pour un intranet) !!!

Merci encore !!
Ciao
Laetitia
Deja bravo et merci de mettre c moyen a la disposition de tous.
Par contre je voudrais savoir comment on fait exactement pour que sa marche ?
On copie tout ds un fichier asp ?
Si quelqu'un voudrais qui si connet bien m'aider (-:
ICQ : 98911024
AIM : Sussidator
J'aimerais faire la meme chose mais sans offrir à l'utilisateur le choix du fichier à uploader.
Avez-vous une idée ?
Ton code fonctionne très bien.
C'est du bon boulot. Bravo!

Cependant dans mon appli web,les fichiers que je dois uploader peuvent atteindre des dizaines de Mo, j'aimerais pouvoir les compresser au moment de l'upload avant de les transférer sur le serveur.

Aurais-tu une idée pour faire ça ?

Merci.

Simo
sebastienrama
4 sept. 2001 à 20:09
Ton code est super nix...
Cependant j'ai une base de donnée avec les champs


id I image I descript

Comment faire pour que les noms des fichier s'y introduisent ?
J'ai essayer votre scripts mais cela ne marche pas ,ça donne le message d'erreur suivant:
Erreur d'exécution Microsoft VBScript erreur '800a01b6'

Propriété ou méthode non gérée par cet objet: 'Request.TotalBytes'

/projet/clsUplFich.asp, ligne 111
j arrive pas à le faire marcher l erreur est :

Erreur de compilation Microsoft VBScript erreur '800a0401'

Fin d'instruction attendue

/scicdev/dtf/includes/clsUplFich.asp, ligne 31

Private Property Let AjoutNomFichier(LeNom)
-----------------^

que dois je faire
J'ai fait une nouvelle version qui permet de récupérer les champs textes et autre en même temps ici :
http://www.aspfr.com/article.asp?Val=119

A++

Nix
Je viens de tester l'article sur " UPLOADER ses fichiers en ASP sans composant " mais comment récupérer la valeur d'autres champs par ex
Est ce possible?
Merci d'avance. ;-)
Bien comme code
Les temps de réponses sont ok
Mais, il est impossible de mettre un autre type de champs de saisie que les type="file".
Hors, c'est rarement le cas

A ++
Anne
Super ton code, mais dit voir, quand tu fais ton upload, ou est-ce que le fichier se met sur le serveur une fois uploder ??

Dans mon cas je récupere des nom de fichiers contenu dans une variable session, alors est-ce que je peux utiliser ton code ????
Ca marche trop bien, mais comment mettre un nom au fichier, et le mettre dans un base de donnée.
Merci d'avance.
DHTBB
Meme probleme que Gwen ... la fonction 'mid' qui fait erreure.
Le script Upload sans composant ne marche pas ! j'ai le message suivant :
Erreur d'exécution Microsoft VBScript erreur '800a01b6'

Cet objet ne gère pas cette propriété ou cette méthode: 'Request.TotalBytes'

/upload/clsUplFich.asp, ligne 111

Erreur d'exécution Microsoft VBScript erreur '800a01b6'

Cet objet ne gère pas cette propriété ou cette méthode: 'Request.TotalBytes'

/upload/clsUplFich.asp, ligne 111
En fait, je n'arrive pas à le faire fonctionner car je tombe sur une erreur à la ligne 184 :

Erreur d'exécution Microsoft VBScript (0x800A0005)
Argument ou appel de procédure incorrect: 'Mid'
/slc/admin/Photos/clsupload.asp, line 184

J'ai obtenu le même résultat avec un autre code et je ne vois vraiment pas d'où vient le problème. Si vous pouviez m'aider.

Merci

Gwen
si je veux virer les deux autres champs d'upload et n'en conserver qu'un seul , que dois je virer comme code !
Salut !
Bravo aussi pour la concision et la clarté du code... Sisisisi, j'insiste...
Par contre, un truc qui me dérange un peu : Comment accéder aux autres champs du formulaire (, par exemple) ? (j'ai essayé +ieurs méthodes sans résultat...)
Merci :)
Oui, j'ai tout écrit (je suis partit d'une page blanche en effet) et c clair que j'ai pas reinventé l'upload mais ça fonctionne :).
Pour la class, au debut, j'avais fait une fonction et puis pour une souplesse d'utilisation, je l'ai transformé en class et aussi pour montrer que les classes ça existe en ASP aussi car il est rare de trouver des exemples de class en ASP.

A++

Nix
Luc du Refuge
22 avril 2001 à 10:55
Ben en fait, tu as compilé tous les exemples que tu avais lu
sur les sites.
J'en ai reconnu qq'uns au passage.

Ceci dit, tu as le mérite en effet d'avoir tout ré-écrit toi-même.
C'est tout à ton honneur également d'avoir su vulgariser un
peu la notion de classes qui est rarement utilisée, surtout par
les débutants.

Super job !
Cordialement et bonne continuation
Luc
Rejoignez-nous