Создайте несколько каталогов на ftp, а затем загрузите файл
Я хочу загрузить файл на FTP, однако на FTP не всегда есть каталог, в который я хочу поместить свой файл, а также может потребоваться создать более 1 каталога перед загрузкой файла
Мой Ftp всегда содержит эти маршруты:
ftp://server.com/invoice/
однако мне нужно créate эти папки перед загрузкой моего файла
href="ftp://server.com/Invoices/RFC/RFC2/NOTES" >
однако не всегда ftp имеет эти маршруты
мне нужно иметь возможность проверить, существуют ли эти папки, и если нет, то я попробовал Ftp.MakeDirectory но это только создает последнюю папку мне нужно créate 3 из них перед загрузкой файла и не знаю как это сделать
Что я уже пробовал:
это мой код на данный момент
public void UploadFTP( string userName, string password, string FilePath, string FileName) { string hostFTPIP=""; FtpWebRequest ftpWebRequest = null; Stream ftpStream = null; int bufferSize = 2048; string fullpath = FilePath + FileName; ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(hostFTPIP); ftpWebRequest.Credentials = new NetworkCredential(userName, password); ftpWebRequest.Method = WebRequestMethods.Ftp.MakeDirectory; ftpWebRequest.UseBinary = true; ftpWebRequest.UsePassive = false; ftpWebRequest.KeepAlive = true; ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; ftpStream = ftpWebRequest.GetRequestStream(); FileStream LocalUserFileStream = new FileStream(fullpath, FileMode.Open, FileAccess.Read); byte[] byteBuffer = new byte[bufferSize]; int bytesSent = LocalUserFileStream.Read(byteBuffer, 0, bufferSize); try { while (bytesSent != 0) { ftpStream.Write(byteBuffer, 0, bytesSent); bytesSent = LocalUserFileStream.Read(byteBuffer, 0, bufferSize); } } catch (Exception ex) { Console.WriteLine("Error in Uploading Files" + ex); } LocalUserFileStream.Close(); ftpStream.Close(); ftpWebRequest = null; }
Dave Kreskowiak
Так в чем же вопрос?
Member 12839758
я не знаю, как проверить, существует ли папка, и не знаю, как создать 3 папки одновременно, только последнюю
Karthik_Mahalingam
Всегда использовать Ответить кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.
Garth J Lancaster
"я пытался Ftp.MakeDirectory но это только создает последнюю папку, которую мне нужно créate 3...и не знаю, как это сделать"
да, именно так это и работает, и ответ таков: Вы делаете уровни каталога по одному за раз - посмотрите здесь на мысли http://stackoverflow.com/questions/2769137/how-to-check-if-an-ftp-directory-exists