UPLOAD DE FICHIER EN PUR ASP SANS COMPOSANT SERVEUR

vBtOM - 23 août 2001 à 11:28
Isarien59 Messages postés 5 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 23 juillet 2008 - 27 avril 2011 à 17:59
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/8694-upload-de-fichier-en-pur-asp-sans-composant-serveur

Isarien59 Messages postés 5 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 23 juillet 2008
27 avril 2011 à 17:59
Isarien59 Messages postés 5 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 23 juillet 2008
27 avril 2011 à 17:58
Pour ceux qui on cette erreur :

Request object error 'ASP 0104 : 80004005'

Operation not Allowed

Ceci veint du fait que la limite de la taille maxi d'upload sur le serveur est a 200 ko (de base sur IIS). Il faut l'augmenter comme expliqué sur cette page :

Operation not Allowed upload fichier en asp
pazouni Messages postés 5 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 février 2010
8 févr. 2010 à 17:05
Resalut

pour etre clair j'aimerai bien savoir comment faire visualisé les images aprés leur transfer

Quelqu'un a une idée

Merci
pazouni Messages postés 5 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 février 2010
7 févr. 2010 à 15:43
Bonjour,

je trouve ce code top et march nikel

je désir si on peu avoir des information sur le fichier ajouté et de controlé l'extention voir seulement des images leur dimension et poid

merci
midosd Messages postés 43 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 4 mai 2009
19 août 2009 à 12:55
salut , comment on peut uploader plusieurs fichiers , avec le nombre de fichiers est inconnu ( C.A.D peut être 5 , 6 ... fichiers) ? et merci d'avance
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
19 juin 2008 à 20:24
@Passarinho44 : vers un dossier
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012
19 juin 2008 à 11:48
Bonjour,
J'ai une question : la source dans l'état où elle est au téléchargement est configurée pour envoyer le fichier vers un dossier d'un serveur ou une base de donnée?
cs_flolag Messages postés 113 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 12 août 2016
9 juin 2008 à 11:37
Merci pour cette source elle marche très bien.
Cependant il n'existerait pas une version avec plus de commentaire pour bien expliquer le fonctionnement complet car j'avoue que je ne comprend pas tout.
AXMIM Messages postés 1 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 21:07
Bravo la source marche numéro 1.

J'ai néanmoins décelé un défaillence lorsque le formulaire contient une balise comme celle-ci : « <select name="LstUsager" multiple="multiple" ».

La méthode "SeparateFields" tente d'entrer, dans le vecteur "Fields", la clé "LstUsager" pour chaque valeur sélectionnée.

Résultat : Microsoft VBScript runtime error '800a01c9'

This key is already associated with an element of this collection
lisasp Messages postés 1 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 19:04
Pour donner le nom que tu souhaites à ton fichier (en gardant la bonne extension), il suffit de remplacer dans upload.asp
la ligne
FilePath = Server.MapPath(".") & "" & Fields("File1").FileName
par

nomFichier= "monNomFichier"
ext=Fields("File1").FileName
index=Instr(ext,".")
ext=Mid(ext,index)
FilePath = Server.MapPath(".") & "" & nomFichier&ext
Cameron25B Messages postés 1 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2008
26 févr. 2008 à 11:34
ce script fontionne très bien mais j'aimerais uploader le fichier "file1" en changeant son nom. Fontion RENAME après upload, ... ?????
merci de l'aide
Michel
Profil bloqué
29 janv. 2008 à 02:40
j'arrive pas à telecharger le zip.
je suis sur vista.
peux tu me l' envoyer par e-mail ou msn merci
pascal@caizinho.com
simonlartiste Messages postés 39 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 28 décembre 2007
26 déc. 2007 à 14:42
bonjour,

je travaille sur une plate forme windows CE.NET 5.0 avec sql server 2005 compact edition et lorsque j essaie d uploader j obtiens l erreur suivante :
variable is undefined :'Getupload',

D'avance merci
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
27 nov. 2007 à 18:17
Normallement oui car cela se passe du côté serveur.
LeVlak Messages postés 1 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 27 novembre 2007
27 nov. 2007 à 17:33
Merci pour le code, je le teste pour un projet de centralisation de documents (plate-forme d'échange)
Dans upload.inc, il est écrit "' 1. Uploader de petits fichiers sur le serveur (sauvegarde via les FileSystem object)". Quelle est la limitation?
Ce script fonctionne-t-il aussi avec Safari (sous Mac)?
Je redonne des nouvelles dès que j'ai effectué quelques tests.
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
21 juil. 2007 à 18:19
touss : IIS n'a pas les droits sur le répertoire de dest.
Daft Dwarf Messages postés 10 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 25 janvier 2012
18 juil. 2007 à 09:47
Nickel!!!
Et c'est tellement plus propre qu'aspSmart!!!

Merci beaucoup pour ce code!!!
thiosyiasar Messages postés 186 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 30 novembre 2010 3
2 mai 2007 à 12:25
Salut toxic_avanger

Bon code trés utile
Un p'tit 10 pour ca !

@+
ozmedia2 Messages postés 1 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 8 février 2007
8 févr. 2007 à 17:19
Bonjour.

Merci Toxic_Avanger tu me sauves les c.......!

@+
cs_Alexis35 Messages postés 44 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 2 mai 2011
3 janv. 2007 à 11:27
En fait ce que je voudrais c'est dans mon input file le text que je recois , je voudrais verifier que l'extension est bien gif, don un truc du style

if right(Fields("le Name de mon input="file"").FileName.String ,3) <> "GIF" THEN

ou

if right(Fields("le Name de mon input="file"").value.String ,3) <> "GIF" THEN
bref je ne sais pas
cs_Alexis35 Messages postés 44 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 2 mai 2011
3 janv. 2007 à 11:19
Fields("nomfield").Value.String
chez moi ca ne marche toujours pas!!!

il me dit type incompatible : Fields....
Quelqu'un saurait a quoi c'est du?
Anovil Messages postés 9 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 14 septembre 2006 1
14 sept. 2006 à 13:11
Bon bah j'ai craqué, la petite astuce crade, mais qui marche pour récupérer l'état du checkbox : un input type text caché (hidden) dans lequel en javascript j'écris l'état de mon checkbox et c'est cette valeur que je récupère apèrs le post, toujours avec Fields("nomfield").Value.String

document.monform.monhidden.value = document.monform.moncheckbox.checked;
Anovil Messages postés 9 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 14 septembre 2006 1
14 sept. 2006 à 11:46
Confronté au même problème que beaucoup d'entre vous, j'ai cherché à récupérer des champs text de mon form. Voilà la syntaxe qui fonctionne =>

Fields("nomfield").Value.String

Maintenant je cherche à récupérer la valeur d'un checkbox :/
babas3d Messages postés 3 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 17 décembre 2010
11 août 2006 à 17:20
Code sources parfait avec un serveur IIS 5 sous Windows 2000 Server sans configuration spécifique ! merci
cs_nicky007 Messages postés 1 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 15 juin 2006
15 juin 2006 à 16:36
Bonjour à tous, et merci encore pour ce code qui m'est vraiment utile. Pour ma part j'ai ajouter deux champ text au sein de ma table et j'aimerais pouvoir les alimenter avec les texte contenu dans deux input que j'ai rajouter dans le formulaire. Pourriez vous m'aider. Je bloque dessus depuis plusieurs heures.
titi15031 Messages postés 1 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 23 mai 2006
23 mai 2006 à 15:50
Bonjour,

J'aimerais faire en sorte qu'on puisse envoyer le fichier dans un sous-répertoire qu'on aurait définit en tapant le nom du sous-répertoire dans un textbox.
J'ai stocké le nom du sous-répertoire dans la variable "iDossier".Lorsque je compile, il me met l'erreur suivante :

Error Type:
Request object, ASP 0206 (0x80004005)
Cannot call BinaryRead after using Request.Form collection.
/fr/collaborateurs/formation/upload.inc, line 48

Voici une partie de mon code :

<%
If request.form("dossier") <> "" Then
'si on a entrer un sous-répertoire
iDossier = request.form("dossier")
ElSE
'sinon le fichier va dans le sous-repertoire par défaut
iDossier = LAA
END IF

'Sauvegarde le fichier 'File1' sur le serveur dans le même répertoire que ce script
'Modifier le FilePath pour le claquer ailleurs
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then 'Request method must be "POST" For get the fields
Set Fields = GetUpload()
FilePath = Server.MapPath(".") & "\metiers" & iDossier & "" & Fields("File1").FileName
Fields("File1").Value.SaveAs FilePath
End If
%>

Comment puis-je résoudre cette erreur ou existe-t-il une autre solution?

Merci d'avance
cs_touss Messages postés 18 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 10 mai 2006
18 avril 2006 à 16:12
Bonjour

Voila, j'essaye de l'intégrer à mon site mais j'ai cette erreur suivante.
Erreur d'exécution Microsoft VBScript error '800a0046'
Permission refusée
/upload pur asp/upload.inc, line 263

La ligne 263, c'est ça:
Set TextStream = FS.CreateTextFile(FileName)

Je suis très débutant et la je ne vois pas ce qui ce passe!!!

Merci d'avance.
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
3 févr. 2006 à 21:59
je te conseillerai les fichiers asp au lieu des fichiers inc pour les includes ...

sinon, n'importe qui sait lire les fichiers inc
nicopoal Messages postés 4 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 29 juillet 2005
21 juil. 2005 à 09:24
salut à tous, j'ai testé l'upload, ça marche très bien en test avec les fichiers, mai j'ai essayé d'integrer cet upload dan un projet asp et la ça marche plus je comprends pas pourquoi.
si quelqu'un à une idée...
Merci
++
triptop45 Messages postés 2 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 8 avril 2005
12 avril 2005 à 08:26
Ouf, j'ai également rencontré LES MEMES problèmes dans la même config et je n'ai aucune response.
J'ai également testé sur mon reseau local et ca ne marche pas
Je n'ai aucune idée parcontre, j'ai viré mon firewall, celui d'XP, j'ai désactivé norton autoprotect mais rien ne marche pas ....
goldeagle Messages postés 17 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005
30 nov. 2004 à 16:31
Bonjour à tous.

J'ai déjà essayé plusieurs scripts pour uploader des fichiers vers un serveur. Seulement, pas un ne fonctionne correctement.

Le serveur semble se bloquer. (serveur IIS v5.1 fournit avec windows XP)
J'ai aussi eu un message d'erreur comme quoi il a avait trop de connexion. Le comble vu que je suis le seul a tester l'upload en localhost!

Quelqu'un a-t-il trouvé une solution à ce problème?
jhice Messages postés 2 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 17 octobre 2004
7 oct. 2004 à 13:05
Bonjour,

Comment utiliser la limite de taille UploadSizeLimit ?

Quelle est l'unité ? octets, kilo-octets ?

Quelle syntaxe utiliser et où définir le UploadSizeLimit ?

Merci.
gribou888 Messages postés 11 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 décembre 2006
1 oct. 2004 à 18:17
Salut a tous,

très bien ce code, bravo, seurieusement après multimples esssais sur pas mal de sources,
rin ne marche correctement,celui-ci du premeir coup, alors bravo,

***ceux qui ralent eh ben qu'ils proposent aussi leurs codes puis on verra les critiques...
ilfospeed Messages postés 1 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 15 décembre 2003
15 déc. 2003 à 13:42
"faire de l'upload de petits fichiers" certes... Maizencore ? C koi la limite de taille, SVP ?????????
canocan Messages postés 1 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 22 novembre 2003
22 nov. 2003 à 14:07
Salut a tous moi j'a un prob avec l'upload de fichier. Quand j'essai de uploader un fichier il bloque mon site et m'envoie la page d'erreur :
Impossible d'afficher la page
Un trop grand nombre d'utilisateurs essaient d'accéder au site Web en ce moment.

Est ce que quelqu'un peut m'aider ?

J'ai un serveur iis et c peut etre du a ça ?

merci

et maintenant je peut plus acceder sur le site il m'envoie tjs le m erreur!

@++
jcohen Messages postés 6 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 28 janvier 2005
8 août 2003 à 12:07
Salut,
J'aimerai effectuer une verif avant d'écraser un éventuel fichier déjà existant dans le repertoire ou j'upload. Comment dois je procéder?
Faut-il inclure des instructions dans le fichier inc?
Merci d'avance
caramounga75 Messages postés 1 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 23 janvier 2003
23 janv. 2003 à 09:36
Salut,

Le script fonctionne très bien, mais j'ai toujours des problèmes pour lire le contenu de mes champs texte. J'ai essayé d'insérer à la fin du upload.inc le bout de code citer au dessus par BABITCH, mais il me renvoit une erreur du type "end attendu". Qunlq'un peut il m'aider en trouvant l'erreur ou en m'indiquant une nouvelle methode?
Merci
rea1975 Messages postés 4 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 16 mai 2002
15 mai 2002 à 09:36
Salut
j'ai essayé le script mais l'upload ne marche pas sur mon serveur, ca bloque méme le serveur, il me renvoi l'erreur comme quoi il y a trop d'utilisateurs.
cs_cyberfred Messages postés 3 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 30 avril 2002
2 mai 2002 à 23:12
On essayant de comprendre les fonctions je me suis dis qu'il manquait qq chose
j'ai cherché sur google et j'ai trouvé l'exemple complet à l'adresse suivante :

http://www.dhyan.it/public/Uplo/dbupl.asp?S=1

Voici comment enregistrer dans une base

Créez une table "upload" de cette structure (ici avec access)

UploadID : NuméroAuto (clé primaire)
UploadDT : Date/heure
RemoteIP : Texte
ContentType : Texte
SourceFileName : Texte
DataSize : Entier long
Data : Objet OLE

Voici la fonction à ajouter : on l'appelle dans upload.asp apres le GetUpload comme ça : DBSaveUpload(Fields)

Function DBSaveUpload(Fields)
dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Upload", Conn, 2, 2
RS.AddNew
RS("UploadDT") = Now()
RS("RemoteIP") = Request.ServerVariables("REMOTE_ADDR")
RS("ContentType") = Fields("File1").ContentType
RS("SourceFileName") = Fields("File1").FileName
RS("DataSize") = Fields("File1").Value.Length
If IncludeType=1 Then'For ScriptUtilities
RS("Data").AppendChunk Fields("File1").Value.ByteArray
Else'For PureASP upload - String is implemented as method.
RS("Data").AppendChunk MultiByteToBinary(Fields("File1").Value.ByteArray)
End If
RS.Update
RS.Close
Conn.Close
End Function

et voila si vous ne voulez pas uploader à la racine mettez ces lignes en commentaire :

'FilePath = Server.MapPath(".") & "" & Fields("File1").FileName
'Fields("File1").Value.SaveAs FilePath

Pour ceux qui on eu des problemes d'acces refuse c'est que iis n'est pas en écriture

@+Cyberfred
cs_cyberfred Messages postés 3 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 30 avril 2002
2 mai 2002 à 23:12
On essayant de comprendre les fonctions je me suis dis qu'il manquait qq chose
j'ai cherché sur google et j'ai trouvé l'exemple complet à l'adresse suivante :

http://www.dhyan.it/public/Uplo/dbupl.asp?S=1

Voici comment enregistrer dans une base

Créez une table "upload" de cette structure (ici avec access)

UploadID : NuméroAuto (clé primaire)
UploadDT : Date/heure
RemoteIP : Texte
ContentType : Texte
SourceFileName : Texte
DataSize : Entier long
Data : Objet OLE

Voici la fonction à ajouter : on l'appelle dans upload.asp apres le GetUpload comme ça : DBSaveUpload(Fields)

Function DBSaveUpload(Fields)
dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Upload", Conn, 2, 2
RS.AddNew
RS("UploadDT") = Now()
RS("RemoteIP") = Request.ServerVariables("REMOTE_ADDR")
RS("ContentType") = Fields("File1").ContentType
RS("SourceFileName") = Fields("File1").FileName
RS("DataSize") = Fields("File1").Value.Length
If IncludeType=1 Then'For ScriptUtilities
RS("Data").AppendChunk Fields("File1").Value.ByteArray
Else'For PureASP upload - String is implemented as method.
RS("Data").AppendChunk MultiByteToBinary(Fields("File1").Value.ByteArray)
End If
RS.Update
RS.Close
Conn.Close
End Function

et voila si vous ne voulez pas uploader à la racine mettez ces lignes en commentaire :

'FilePath = Server.MapPath(".") & "" & Fields("File1").FileName
'Fields("File1").Value.SaveAs FilePath

Pour ceux qui on eu des problemes d'acces refuse c'est que iis n'est pas en écriture

@+Cyberfred
cs_fabiano13 Messages postés 262 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 27 février 2012
27 févr. 2002 à 09:28
Visiblement il y a personne de compétent sur ce site. Merci quand même, NIx, pour ton site !
cs_fabiano13 Messages postés 262 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 27 février 2012
26 févr. 2002 à 14:49
Y a t'il quelqu'un d'assez compétent dans ce forum qui puisse me HELPER?
(Je suis novice en ASP)

L'upload fonctionne très bien !!!

j'aimerais insérer le nom de fichier uploadé directement dans une base de donnée ACCES lors de la transaction, mais je ne sais pas comment faire?

elle se nomme base.mdb, elle à une table :

Uploadimage

je souhaite l'insérer cette table qui se compose des champs suivant :

ID = N° auto
Image1 = texte
texte = texte

Bien sûr, c'est dans le champ image1 que je souhaite l'enregistrer !

Merci de votre aide....

Il faut que j'en termine avec ça !!!

je vous donne mon MAIL: fabiano13@caramail.com
babitch Messages postés 6 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 19 mars 2002
31 janv. 2002 à 17:51
salut Vladam

Essais cette fonction
<script LANGUAGE="vbscript" RUNAT="Server">
Function ParseForm(strFieldName)
Set strFormData = CreateObject("Scripting.Dictionary")
lngCount = -1

'Try to find the Field
lngNamePos = instr(1,strDataWhole,"name=" & chr(34) & strFieldName & chr(34))

'Parse through data in search of fields
do while lngNamePos <> 0
lngCount = lngCount + 1
lngBeginFieldData = instr(lngNamePos,strDataWhole,vbcrlf & vbcrlf)+4
lngEndFieldData = instr(lngBeginFieldData,strDataWhole,vbcrlf)
strFormData.Add lngCount, mid(strDataWhole,lngBeginFieldData,lngEndFieldData-lngBeginFieldData)
lngNamePos = instr(lngEndFieldData,strDataWhole,"name=" & chr(34) & strFieldName & chr(34))

loop
set ParseForm = strFormData
end function

</script>

appel la fonction comme ceci du cote serveur bien sur

ParseForm("le name de ton input").item(0)

a++
Salut :)

J'ai utilisé ton Upload, qui est très bien du reste, j'ai juste un Problème en fait !

Comment puis-je récupérer les champs texte de mon formulaire s'il te plait ?
J'ai essayé Fields("monchamp").value mais ca marche pas :(

Tu peux me donner la solution ?

Vladam
Voilà Ronan y'a une autre methode c pratiquement la même
<%
Dim Contenu, TailleContenu, ContenuAscii, X, Y, Z, Position
' ---------------------------
Contenu = Request.BinaryRead(Request.TotalBytes)
TailleContenu = Request.TotalBytes
' Grâce à la méthode BinaryRead on lit la totalité du post en mode binaire que l'on place dans une variable Contenu
' La propriété TotalBytes nous Indique le nombre total des octets envoyés par le client dans le corps du message de requête.
' -------------------
ToutOk = 0
' ToutOk est une Variable Test (si tout est Ok, elle prend la valeur 1 sinon elle reste à 0
' -------------------
PosDebutFic=0
' PosDebutFic représente la position de l'octet où se trouve le début du Nom du fichier transmis
' -------------------
PosFinFic=0
' PosFinFic représente la position de l'octet où se trouve la fin du Nom du fichier transmis
' -------------------
PosDebutCont=0
' PosDebutCont représente la position de l'octet où se trouve le début du Content-Type du fichier
' -------------------
PosFinCont=0
' PosFinCont représente la position de l'octet où se trouve la fin du Content-Type du fichier
' -------------------
PosDebutFic2=0
' PosDebutFic2 représente la position de l'octet où se trouve le début du Contenu du fichier
' -------------------
PosFinFic2=0
' PosFinFic2 représente la position de l'octet où se trouve la fin du Contenu du fichier
X = 0
Y = 1
Position = 1
' -------------
' En premier lieu, on recherche la position du terme filename="
' Pour ce faire, on calcul le nombre d'octet (LimitBin) du premier élément jusqu'à filename=" (on effectue une boucle jusqu'au nombre d'octets correspondant au terme filename=")
LimitASCII = "filename=" & chr(34)
LimitBin=""
for Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next
' -------------------
' On recherche la position de l'octet de la chaîne Contenu jusqu'à LimitBin
' On utilise la fonction InStrB qui est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer la position du caractère de la première occurrence d'une chaîne à l'intérieur d'une autre (fonction Instrv), la fonction InStrB renvoie la position de l'octet.
PosDebutFic = InstrB(1, Contenu, LimitBin)
' -------------------
' On lui ajoute ensuite la longueur du terme filename=" ce qui nous permet d'avoir la position de début du nom du fichier (PosDebutFic)
if PosDebutFic <> 0 then
PosDebutFic = PosDebutFic + LenB(LimitBin)
end if
' -------------------
' En premier lieu, on recherche la position du terme Content-Type: d'une façon similaire à notre recherche pour le terme filename="
LimitASCII = "Content-Type:"
LimitBin=""
For Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next
PosDebutCont = InstrB(1, Contenu, LimitBin)
if PosDebutCont <> 0 then
' -------------------
' On trouve la position de la fin du nom du fichier (PosFinFic) à partir de la position du début du terme Content-Type: à laquelle on retire trois octets (un espace, une " et la première lettre du terme)
PosFinFic = PosDebutCont - 3
' -------------------
' On ajoute à PosDebutCont la longueur du terme Content-Type: , ce qui nous permet d'avoir la position de début du Content-Type (PosDebutCont)
PosDebutCont = PosDebutCont + LenB(LimitBin)
end if
' -------------------
' On en déduit le nombre de caractères composant le nom du fichier en effectuant une soustraction
NomFichier = MidB(Contenu, PosDebutFic , (PosFinFic - PosDebutFic))
' -------------------
' Nous n'avons plus qu'à traduire en texte grâce à la fonction ASCB et trouver ainsi le nom du fichier (NomFichier)
ContenuAscii = ""
for Z = 1 to LenB(NomFichier)
ContenuAscii = ContenuAscii & chr(ASCB(MidB(NomFichier, Z, 1)))
next
NomFichier = ContenuAscii
' -------------------
' On cherche la position de début du contenu du fichier en sautant les blancs
PosFinCont = InstrB(PosDebutCont, Contenu, chrB(13))
if PosFinCont <> 0 then
PosDebutFic2 = PosFinCont + 4
end if
' -------------------
' On recherche la position de fin du contenu du fichier
LimitASCII = "----"
LimitBin=""
for Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next
PosFinFic2 = InstrB(PosDebutFic2, Contenu, LimitBin)
' -------------------
' Si la position de fin du contenu du fichier n'est pas 0 alors tout est OK
if PosFinFic2 <> 0 then
ToutOk = 1
end if
' -------------------
' On place le contenu binaire du fichier transmis dans la variable DataFichier
DataFichier = MidB(Contenu, PosDebutFic2 , (PosFinFic2 - PosDebutFic2))
' -------------------
' Si tout est ok, on écrit dans un fichier à la racine du serveur en plaçant d'abord dans une variable NouveauFic le chemin complet du fichier à écrire.
If ToutOk = 1 then
Position = InstrRev(NomFichier, "")
NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position))
NomFichierCourt="simoi.jpg"
NouveauFic = Server.MapPath("") & "" & NomFichierCourt


Set FileObject = Server.CreateObject("Scripting.FileSystemObject")

Set Out=FileObject.CreateTextFile(NouveauFic, true)

For I = 1 to LenB(DataFichier)
Out.Write chr(AscB(MidB(DataFichier,I,1)))
Next
Out.close
Set Out=nothing
end if
%>
ce que tu fais pour changer le nom de ton fivheir c renommer "NomFichierCourt"
exemple NomFichierCourt="session" & day(date)& month(date)
Merci pour le code mais j'arrive pas à l'utiliser car j'ai chaque fois des message d'erreur "accées refusé" j'arrive pas à enregistrer sous le root
Très bon script, très pratique.

Une question qui peut être intéressante pour d'autre :
je souhaite renommer le fichier uploader sous la forme d'un code de fichier, avec date et extension.
Pour être plus précis, je veux que mon fichier "bidule.pdf" soit uploader sous le nom "session1109.pdf". Je n'arrive pas à faire qu'il soit renommé. Quelqu'un a t'il une idée ?

Merci d'avance
je viens de voir la source.

l'upload fonctionne parfaitement.

j'aimerais inserer les noms de fichier uploadé directement dans ma base de donnée lors de la transaction, mais je ne sais pas comment faire?

elle se nomme MIGC.mdb, elle à trois table :

-ProdMIGC
-Uploadbdn
-Admin

je souhaite l'inserer dans la table "Uploadbdn" qui se compose des champs suivant :

ID = N° auto
Image1 = texte
Image2 = texte
Zipfile = texte

c'est dans l'un de ces champs que je souhaite l'enregistrer (selon l'upload réalisé, soit trois pages, une page image1.asp une page image2.asp et une page zipfile.asp

Merci de votre aide....
j'en peux plus....
VBtom faut pas s'énerver !! :)
Eheh...
Nix il a déjà fait 2 méthodes d'Upload sns composant... ;)
Rejoignez-nous