, поэтому я пытаюсь автоматизировать загрузку в ftp, но я не могу заставить его работать. То, что у меня есть (пытается создать папку):FTP создайте папку и загрузите файлы в C#
private void button1_Click(object sender, EventArgs e)
{
FTPUpload(txtIP.Text, txtUName.Text, txtPWord.Text);
}
private void FTPUpload(string ftpAddress, string ftpUName, string ftpPWord)
{
FtpWebRequest ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpAddress + "/AUTO_TEST_FOLDER"));
ftpRequest.Credentials = new NetworkCredential(ftpUName, ftpPWord);
ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
WebResponse response = ftpRequest.GetResponse();
using (var resp = (FtpWebResponse)ftpRequest.GetResponse())
{
MessageBox.Show(resp.StatusCode.ToString());
}
Я получаю WebException был необработанное «Удаленный сервер возвратил ошибку: (550) не Файл недоступен (например, файл не найден, нет доступа).» на линии WebResponse response = ftpRequest.GetResponse();
.
Может кто-нибудь помочь мне здесь?
Я пробовал пару решений, включая ответ на How do I create a directory on ftp server using C#?, но без успеха (без успеха даже с копированием и вставкой этого ответа и ввода моего ip/uname/pword).
_ «Я создал эту функцию, которая отлично работает» _ - ну, это похоже на ваше мнение. Это не работает отлично. Если есть проблема с полномочиями или соединением, этот код проглатывает полученное исключение, показывает окно с сообщением «Folder Exists» и возвращает «false». Это далеко не идеально. – CodeCaster
Я вытащил это из своей тестовой программы, поэтому там есть вещи, которые, очевидно, будут удалены или изменены. Я также исправил, что обмен сообщениями как «Folder Exists» был в старой версии кода. В идеале я бы использовал WebException, а затем посмотрел, какая именно проблема. –
Да, в чем смысл этого ответа? Вы завернули существующий ответ в блок try-catch и отправили свой метод для загрузки некоторых фотографий из некоторых очень специфичных для приложения переменных? Второй код возвращает false, если первый файл завершается успешно, а второй - нет. Он загружает целые файлы в памяти (даже большие), которые не масштабируются. Методы библиотеки не должны ловить 'Исключение' и определенно не должны показывать окна сообщений. – CodeCaster