Я видел десятки примеров устранения этой проблемы с помощью библиотеки, указанной в заголовке. Типичный пример, который ДОЛЖЕН работать, который я вижу:
string destinationPath = PathInfo.FileNameConvention;
using (FileStream fileStream = File.OpenRead(sourcePath))
{
using (Stream ftpStream = FTPClient.OpenWrite(string.Format("'{0}'", destinationPath), FtpDataType.ASCII))
{
fileStream.CopyTo(ftpStream);
}
}
Когда я выполняю этот код, я получаю ошибку длины имени в журнале ftpTrace. Когда я использую только путь назначения, я получаю ошибку тайм-аута. Я отправляю на мэйнфрейм MVS OS. Я могу подключиться и войти в систему нормально. возможность отправлять команды сайта через метод ftpclient.execute. Я попытался из любопытства отправить команду put через метод execute и получил неизвестную команду для put. У кого-нибудь тоже есть эта проблема?
Также соединение работает нормально, так как я вручную отправил файл через командную строку ftp и был успешным.
Некоторая справочная информация: метод OpenWrite библиотеки отправляет команду STOR, используя отправленный путь, и по умолчанию будет использоваться двоичный тип.