IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

uploader les fichiers en vbscript


Sujet :

VBScript

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut uploader les fichiers en vbscript
    Bonjour, ça fait des jours que je cherche sur le net comment faire pour uploader des fichiers sur un serveur IIS . Je ne voudrais pas le faire en asp mais uniquement en vbscript car je suis en stage et mon maître de satge me demande de le faire absolument en vbscript .
    Quelqu'un peut m'aider ?

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Salut,
    Si tu as accès au système de fichiers de ton serveur, penche toi vers l'objet FileSystemObject, qui permet de réaliser des copies et beaucoup d'autres choses. La FAQ VBScript t'aidera à réaliser ta copie.
    Après si tu désires utiliser les fonctionnalités de IIS, alors je ne peux pas t'aider, je connais pas.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    je voudrais le formulaire en utilisant un formulaire html

    je voudrais uploader mon fichier à l'aide d'un formulaire html et traiter les données avec vbscript

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    La solution proposé de pitchalov est à mon avis totalement faisable.
    Le plus simple à mon gout serait de faire une page internet, servant d'interface. Tu peux utiliser du javascript ou du vbs par exemple pour faire de l'exploration et trouver le fichier que tu veux up. Tu peux ajouter des champs à ton formulaire tel que le nom sur le serveur etc. Puis tu relis ton bouton submit à un fonction vbs qui appelle un script externe vbs.
    Dans ce script tu utilises le FileSystemObject et tu fais FileSystemObject.CopyFile avec l'adresse de ton serveur pour envoyer ton fichier.
    Je pense que ca marche bien car perso, j'ai déjà fait un script se connectant régulièrement sur un serveur pour récupérer une bdd et je n'ai pas eu trop de soucis. Ce qui est plus chaud, c'est si tu essayes de gérer les problèmes de recopie ou les coupure de réseau

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut problèmes avec ce script
    J'essai de copier ce fichier vers D:\RECEPTION\ mais ça ne marche pas .
    pouvez vous me montrer l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <body>
    <script language="vbscript" type="text/vbscript">
    sub valider_form()
    alert  form1.fichier.value
    document.write form1.fichier.value 
    dim fso 
    rem instanciation
    Set fso = CreateObject("Scripting.FileSystemObject")
    rem copie du fichier de la source vers la destination 
    set origine= fso.getfile(form1.fichier.value)
    origine.copy("D:\RECEPTION\")
    end sub 
    </script>
     
     
    <table align="center" width="100%">
    <tr bgcolor="#249BFF"><td  colspan="2" align="left" class="deco_upload">Envoyez votre fichier excel</td></tr>
    <form  method="post" enctype="multipart/form-data" name="form1" onsubmit="valider_form()">
    <tr><td width="52%" align="right"><input type="file" name="fichier"  class="input_upload2"/></td>
    <td width="48%" align="left"><input type="submit" name="envoyer" value="envoyer"  class="input_upload"/></td></tr>
    </form>
    </table>

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    Bonjour aurais-tu une erreur plus précise?
    Je regarde ton problème mais la prochaine fois essaye de te forcer à présenter un peu mieux plz, c'est illisible

    Question d'avance a quoi correspond ton rem ?
    Et n'aurais tu pas par hasard copié du code VBA?

    edit :
    tu vois l'avantage si tu présentais correctement c'est que déjà d'office j'aurais vu que ton html n'était pas bon
    on ne déclare pas une cellule d'un tableau juste pour mettre un bouton ...
    de plus la balise form de mémoire doit être dans une balise td ..

    edit2 as tu test si l'appel de fonction marchait avec ton alert?

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    Bonjour
    Voici un code exemple qui fait à peu près tout ce que tu as demandé
    Attention je ne sais pas pourquoi il ne marche pas sous firefox mais très bien sous IE7
    Je pense que ça vient des config de sécurité mais j'ai pas cherché plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <html> 
    	<HEAD> 
    		<TITLE>Simple copie</TITLE>
    	</HEAD> 
    	<body>
    		<script language="VBScript">  
    			Public Function envoyer_OnClick()
    				MsgBox "envoyer_OnClick"
    				Msgbox form1.fichier.value
    				Msgbox "test"
    				Msgbox document.form1.fichier.value
    				ind=InStrRev(document.form1.fichier.value, "\")
    				Msgbox ind
    				'On retire le nom du script
    				racine=Left(document.form1.fichier.value,ind)
    				Msgbox racine
     
    				Set FSCopie = CreateObject("Scripting.FileSystemObject")
    				FSCopie.CopyFile document.form1.fichier.value, racine & "\test\test.xls", true
    				Msgbox "yata"
    			End function 
    		</script>
    		<div align="center" >
    			<table width="100%">
    				<tr bgcolor="#249BFF">
    					<td><div align="left" >Envoyez votre fichier excel</div></td>
    				</tr>
    				<tr>
    					<td width="52%" align="center">
    						<form name="form1" method="post" enctype="multipart/form-data"">
    							<input type="file" name="fichier" />
    						</form>
    							<input type="submit" name="envoyer" value="envoyer" />
    					</td>
    				</tr>
    			</table>
    		</div>
    	</body>
    </html>
    voila si t'as des questions, je suis dans le coin
    (attention ce code copie le fichier dans un sous dossier nommé arbitrairement test)
    Il manque entre autre les tests de si le fichier existe, si le dossier cible existe etc....
    je te laisse chercher un peu

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 76
    Points
    76
    Par défaut
    Le VBS ne marche pas avec FireFox parcequ'il n'ont pas le droit d'utiliser cette technologie, propriété exclusive de M$.

    De toute façon à partir du moment où vous utilisez FileSystemObject,vaut mieux le faire en HTA.

  9. #9
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    ton code ne marche pas et à quoi sert ton test.xls

  10. #10
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    @Fredledingue merci pour cette précision, j'y avais même pas pensé

    @regisyves, si tu ne cherches pas un petit peu, je ne vais pas pouvoir t'aider beaucoup (je m'investis autant que le demandeur )
    Le code que je t'ai fournis fonctionne très bien chez moi, le truc est juste de comprendre comment il marche
    Oui il ne fait par encore ce que tu as demandé car il suffit de le paramétrer
    (Choisir le dossier de sortie, et choisir le nom de fichier de sortie)
    Je pense qu'il est totalement possible de comprendre comment les changer
    Comme tu l'as vu je fais appel à un test.xls (excel) et ben justement c'est le nom de fichier de sortie que j'ai choisi
    et "\test\test.xls" veut seulement dire que j'avais crée un dossier "test" dans lequel le fichier je copiais le fichier "test.xls"

    dis moi si tu ne comprends pas et ce que tu as fais

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/10/2008, 12h19
  2. Réponses: 5
    Dernier message: 08/01/2008, 23h29
  3. [Upload] Filtre sur les fichiers uploadés
    Par fantazya_z dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2007, 23h51
  4. Réponses: 1
    Dernier message: 14/09/2006, 14h23
  5. Réponses: 4
    Dernier message: 03/04/2006, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo