J'ai mis en place la possibilité de télécharger, de télécharger, de supprimer, etc. à l'aide de la classe Ce que je dois faire maintenant, c'est la prise en charge d'envoyer des commandes FTP arbitraires telles que P> ftpwebrequest code> en C #. C'est assez simple.
<!-- The following commands will be executed before any uploads occur -->
<extraCommands>
<command>quote SITE LRECL=132 RECFM=FB</command>
</extraCommands>
4 Réponses :
Je ne pense pas que cela puisse être fait avec Notez que les chaînes définies dans la classe Site et System ne sont pas parmi les options prédéfinies, je suppose que vous êtes coincé ... p>
Ne perdez pas de temps pour essayer la classe code> WebClient code>, il vous donnera une plus grande flexibilité que Cependant, il existe de nombreuses implémentations FTP tiers, open source ou commerciale, et je suis à peu près sûr que certains d'entre eux peuvent gérer des commandes personnalisées ... p> ftpwebrequest code> ... Le seul moyen de spécifier une commande FTP passe via la propriété code> méthode code> et la documentation indique: p>
WebRequestMethods.ftp code> sont les seules options prises en charge pour la propriété code> méthode code>. Réglage de la méthode code> code> de toute autre valeur entraînera un
argumentException code> exception. P>
blockQuote>
ftpwebrequest code>. p>.
Vous pouvez essayer notre Composant FTP Rebex :
// create client and connect Ftp client = new Ftp(); client.Connect("ftp.example.org"); client.Login("username", "password"); // send SITE command // note that QUOTE and SITE are ommited. QUOTE is command line ftp syntax only. client.Site("LRECL=132 RECFM=FB"); // send SYST command client.SendCommand("SYST"); FtpResponse response = client.ReadResponse(); if (response.Group != 2) ; // handle error // disconnect client.Disconnect();
Utiliser sendcommand ("site lrecl = 242 blksize = 0 recfm = fb"); code> p>
Ceci est très inutile car aucune information n'est fournie. Qu'est-ce que "Sendcommand" est-ce une bibliothèque tierce, a-t-elle quelque chose à voir avec ftpwebrequest ???
Le ftpwebrequest code> ne vous aidera pas comme Thomas levesque a dit dans son Réponse . Vous pouvez utiliser certaines solutions tierces ou sur le code basé sur TCPClient code> TCPCLIDe simplifié que j'ai refacturé à partir d'un Réponse écrite dans Visual Basic :
220 (vsFTPd 2.2.2)
user [FTP_USER_NAME]
331 Please specify the password.
pass [FTP_PASSWORD]
230 Login successful.
SITE CHMOD 755 [FTP_FILE_PATH]
200 SITE CHMOD command ok.
Avez-vous essayé Reex FTP avec ces commandes? Cela a-t-il bien fonctionné?