Я испробовал все варианты нижеприведенного.
client.Credentials = new NetworkCredential(ftpInfo.ftpUserName, ftpInfo.ftpPassWord);
client.BaseAddress = "ftp://99.999.9.99";
var response = client.UploadFile("testFile.txt", "C:\\ftproot\\testfile\\012\\Drop\\testFile.txt");
Я знаю, что имя пользователя и пароль верны.
Если я подключаюсь к серверу, используя filezilla из той же коробки, он работает.
Я пытался не иметь на нем ftp: // - я должен упустить что-то очень простое.
Вот ошибка:
{"Невозможно подключиться к удаленному серверу"}
- Response {System.Net.FtpWebResponse} System.Net.WebResponse {System.Net.FtpWebResponse}
- ContentType '($ исключение) .Response.ContentType' вызвало исключение типа 'System.NotImplementedException' string {System.NotImplementedException}
UPDATE:
Я не знаю, что не так с этим вопросом. Я дал столько информации, сколько у меня есть.
Вот текущий тест, использующий некоторые предложения в примечаниях.
using (WebClient client = new WebClient())
{
client.Credentials = new NetworkCredential("password", "loginname");
client.UploadFile("ftp://99.999.6.130/testFile.txt", "STOR", "c:\\testfile.txt");
}
Это просто говорит о том, что я не вошел в систему.
Ниже работает .... Я закрою вопрос, когда это позволит мне.
Finale Update - рабочее решение:
public static bool UploadFile(string url, string userName, string password, string file,
out string statusDescription)
{
try
{
var request = (FtpWebRequest)WebRequest.Create(url);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(userName, password);
// Copy the entire contents of the file to the request stream.
var sourceStream = new StreamReader(file);
var fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
var getResponse = request.GetResponse();
Console.WriteLine($"{fileContents.Length} {getResponse} ");