FTP Upload - C# (183399)
Формулировка задачи:
Доброго времени суток!
Не знаю в какую ветку писать, проблема общего характера, попробую здесь.
И так. Мне нужно реализовать что-то вроде мини FTP менеджера. С загрузкой файлов с FTP ни каких проблем, а вот с загрузкой на FTP есть проблема. Но сначала код, все переменные объявлены ранее:
Код придуман не мной, а стащен с примера работы с FTP. И чего-то в этом коде не хватает.
После выполнение этого кода, в Response я получаю "226 Transfer OK". Лезу на сам FTP, а там пусто. Гугление мне рассказало, что этот статус не совсем информативен, т.е. трансфер то ОК, но на FTP есть кэши, буферы и файл сидит где-то в них, а когда его можно будет увидеть, неизвестно. Т.е. рано или поздно он появится и так оно и оказалось, где-то через полчаса появились все файлы которые я пытался заливать тестируя программу. Позже я выяснил, что загруженный мной файл появляется сразу после того, как я загружу туда ещё один файл, но через нормальный FTP клиент, а не мою поделку (я использую Total Commander). Или удалю файл через нормальный клиент. Ну вот т.е. Total или любой другой клиент делает что-то ещё, что бы передача файла закончилась появлением файла сразу. Только вот что?
Что мне нужно сделать, что бы сразу увидеть залитый файл?
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 Upload»
textual
Листинг программы
FileFtp.UploadFile(new Uri("ftp://твой хост.ru/public_html/" + Path.GetFileName(file)), "STOR", file);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д