J'ai vu des dizaines d'exemples de problèmes lors de la prise de vue de ce problème en utilisant la bibliothèque dans le titre. L'exemple commun que je vois que travailler est DEVRAIENT:Problèmes System.Net.FtpClient avec openwrite
string destinationPath = PathInfo.FileNameConvention;
using (FileStream fileStream = File.OpenRead(sourcePath))
{
using (Stream ftpStream = FTPClient.OpenWrite(string.Format("'{0}'", destinationPath), FtpDataType.ASCII))
{
fileStream.CopyTo(ftpStream);
}
}
Quand je fais ce code, je reçois une erreur de longueur du nom du journal ftpTrace. Lorsque j'utilise uniquement le chemin de destination, j'obtiens une erreur d'expiration. J'envoie à un mainframe MVS OS. Je peux me connecter et me connecter très bien. capable de soumettre des commandes de site via la méthode ftpclient.execute. J'ai essayé, par curiosité, de soumettre une commande put via la méthode execute et j'ai obtenu une commande inconnue pour put. Quelqu'un a-t-il aussi ce problème?
Aussi la connexion fonctionne bien car j'ai soumis manuellement un fichier via l'invite cmd ftp et a réussi.
Pour certaines informations de base, la méthode OpenWrite de la bibliothèque envoie une commande STOR en utilisant le chemin d'accès envoyé et par défaut le type binaire.
lorsque vous faites FTP, vous devez peut-être utiliser le changement Dir commandes de sorte que fichier long les noms ou les noms de chemin n'affectent pas la fonctionnalité que je vérifierais dans ce premier .. "Changement ChangeDir, puis passe le nom de fichier pas le chemin complet' voir si cela aide – MethodMan
@MethodMan Path.GetFileName (localFile) fait comme vous l'avez décrit. Il prend le chemin local complet et obtient juste le nom du fichier. – ggiaquin16