FTP Upload - C# (183399)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Не знаю в какую ветку писать, проблема общего характера, попробую здесь. И так. Мне нужно реализовать что-то вроде мини FTP менеджера. С загрузкой файлов с FTP ни каких проблем, а вот с загрузкой на FTP есть проблема. Но сначала код, все переменные объявлены ранее:
FTPRequest = FTPRequest.Create(pUploadToFtp + "/%2F" + pTargetDirectoryToUpload + pTargetFileName);
FTPRequest.Credentials = Credentials.NetworkCredential(pLogin, pPassword);
FTPRequest.KeepAlive = true;
FTPRequest.Method = "STOR";
FTPRequest.UsePassive = true;
FTPRequest.UseBinary = true;
FTPRequest.Proxy = GlobalProxySelection.GetEmptyWebProxy();
 
RealFileStream = FileStream.OpenRead(pFileNameToUpload);
SimpleStream = FTPRequest.GetRequestStream();
RealFileStream.CopyTo(SimpleStream);
SimpleStream.Close();
RealFileStream.Close();
 
FTPResponse = FTPRequest.GetResponse();
MessageBox.Show(FTPResponse.StatusDescription)
Код придуман не мной, а стащен с примера работы с FTP. И чего-то в этом коде не хватает. После выполнение этого кода, в Response я получаю "226 Transfer OK". Лезу на сам FTP, а там пусто. Гугление мне рассказало, что этот статус не совсем информативен, т.е. трансфер то ОК, но на FTP есть кэши, буферы и файл сидит где-то в них, а когда его можно будет увидеть, неизвестно. Т.е. рано или поздно он появится и так оно и оказалось, где-то через полчаса появились все файлы которые я пытался заливать тестируя программу. Позже я выяснил, что загруженный мной файл появляется сразу после того, как я загружу туда ещё один файл, но через нормальный FTP клиент, а не мою поделку (я использую Total Commander). Или удалю файл через нормальный клиент. Ну вот т.е. Total или любой другой клиент делает что-то ещё, что бы передача файла закончилась появлением файла сразу. Только вот что? Что мне нужно сделать, что бы сразу увидеть залитый файл?

Решение задачи: «FTP Upload»

textual
Листинг программы
FileFtp.UploadFile(new Uri("ftp://твой хост.ru/public_html/" + Path.GetFileName(file)), "STOR", file);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5