FTP upload client vers serveur

Résolu
cs_carvals Messages postés 50 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 23 janvier 2008 - 6 août 2007 à 18:25
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 7 août 2007 à 00:24
Bonjour,

Je fais une appli asp + vb en local (off line).
Le user utilise l'appli vb off line et genere automatiquemnet un fichier texte de tracage des activités.

Je voudrais que quand le user se connecte a l'appli asp, le fichier soit uploader automatiquement sur le serveur: Pour cela j'ai modifié un vbscript qui doit se lancer au chargement de la page:

sub

Dim Req
As System.Net.FtpWebRequest =
DirectCast(System.Net.WebRequest.Create(
"ftp://localhost/test.txt"), System.Net.FtpWebRequest)Req.Credentials =

New System.Net.NetworkCredential(
"user",
"pass")Req.Method = System.Net.WebRequestMethods.Ftp.UploadFile

' read in file...

Dim bFile()
As
Byte

TrybFile = System.IO.File.ReadAllBytes(

"C:\test.txt")

Catch

Return

End
Try

' upload file...

Dim Str
As System.IO.Stream = Req.GetRequestStream()Str.Write(bFile, 0, bFile.Length)

Str.Close()

Str.Dispose()

End
SubJe l'ai testé en vb.net pur c'est a dire avec un userform et ca marche bien, dc pas de pb avec les droits sur le serveur. Cependant lorsque que je deploie il me semble que l'asp ne trouve pas le fichier client a chargé.... il doit y avoir un soucis avec le path j'ai essaye plein de truc mais rien de fonctionne

Une idée??? Merci par avance (désolé pour les accents j'ai un clavier anglais)

carvals

5 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 août 2007 à 00:24
Généralement on utilise un serviec web pour ce genre de choses, se connecter à un serveur ftp (aucun rapport avec ASP) est très rare mis à part peut etre si le volume à échanger est vraiment énorme (>5Mo gzipé)

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2007 à 20:00
Bonjour,

J'ai pas tout compris à ce que tu essaye de faire mais "l'asp ne trouve pas le fichier client a chargé" tu parles du fichier "c:\test.txt" ? il s'agit ici dans tous les cas du fichier c:\test.txt du serveur ! pas du client. Ton site s'execute sur le serveur, si tu veux lire un fichier vers le client il faut utiliser un fileupload ou alors un activeX.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
cs_carvals Messages postés 50 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 23 janvier 2008
6 août 2007 à 21:42
salut,

En effet le c:/test.txt est chez le client. Je ne veux pas utiliser le fileupload car je souhaite quelque chose d'automatique et de transparent pr le user.
Je sais toujours ou sera le fichier texte dc pas de pb pr le chemin d'acces.

J'avais pensé a l'ActiveX mais je t'avoue ne pas savoir par quel bout commencer. j'avais trouvé des tutos mais pas tres explicitent dc si jamais t'as un lien sympas je suis preneur.

Je pensais que c'étais jouable sans l'activeX (si tu connais le chemin) car je l'ai deja vu faire mais pas de chance.... pas de sources...
C'est juste une ouverture de ftp avec passage du path, c'est hyper simple en VB mais apparement moins en ASP...

merci de ton aide.

carvals
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2007 à 21:45
Je pige rien à ce que tu veux faire.

ASP est une technologie serveur qui permet de délivrer des pages html au client à traver leur navigateur ! Pour des raisons de sécurité il n'est absolument pas possible d'envoyer sans accord de l'utilisateur des fichiers provenant de sa machine ! et je te déconseil de le faire ... Si tu veux faire ca il te faut un activeX (beurk) ou alors tu ne fais pas un site web mais une application windows classique.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_carvals Messages postés 50 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 23 janvier 2008
7 août 2007 à 00:16
hello,

Bon en fait c'est bon  mon code etait correct j'ai du joué avec les access c'est tout. Dc si qq'un veut reprendre le code allez-y. NB: je n'en suis pas l'auteur complet mais il avait été poste sur un forum.


Si vous voulez faire un truc tordu comme moi il vous faudra bien evidemment maitriser les fichiers sur la machine cliente, droits d'acces etc et  établir des sécurités suplémentaires vu que vous bafouerez toutes les lois du genre.


Cyril> Merci pr tt. je vais essayer de clarifier pourquoi je mélange du VB local et de l'ASP client/server.


Le systeme se compose de 2 applis une offline et l'autre on line. vs aurez suivi la on line est l'asp qui pourra dc etre accessible a travers le net. mais en revanche la seconde, complementaire a la premiere en terme de process, ne peut pas (pour des raisons d'acces reseau) etre online. Elle est dc ecrite en VB.net et tourne en local. Cependant toutes les applis VB.net offline vont générer des log d'utilisation ainsi qu'utiliser des fichiers de parametres communs (users, variables globales etc). En consequence a chaque fois que le user branchera le pc au net (1x / jour) il enverra ses log et recuperera les parametres.


L'interet est que vous pouvez monitorer un grand nombre d'ordis sans vous encombrez d'infrastructures reseau. Surtout que ici on a pas le choix. 40 % des users doivent etre online puisqu'ils ont besoins d'info en temps réel et 60% des autres font des traitements asynchrones dc offline.

Ne pas oublier en dev... l'ordi doit etre au service du metier et non l'inverse. mais bon c'est vrai que parfois le resultat est étrange!

Tius and good night


 






carvals
0
Rejoignez-nous