Программирование >>  Автоматически обновляемые приложения 

1 ... 140 141 142 [ 143 ] 144 145 146 ... 170


string remoteUri = http: rusproject.narod.ru/image/ ; string fileName = ruspro.gif , myStringWebResource = null;

Создаем экземпляр класса WebClient WebClient myWebClient = new WebClient();

Соединим имя домена с именем файла myStringWebResource = remoteUri + fileName;

textBoxl.Text = Загружаем файл + fileName +

из + myStringWebResource + \r\n ;

Загрузим файл и сохраним его в локальной файловой системе myWebClient.DownloadFile(myStringWebResource, с:\\ + fileName); textBoxl.Text += Файл + fileName + из + myStringWebResource +

успешно загружен + \r\n ; textBoxl.Text += Загруженный файл сохранен на диске С: ;

Примечание

Примеры проверки подкпючения и загрузки файла находятся в папке Win-Inet на прилагаемом диске.

Передача файлов по протоколу FTP

в .NET Framework 2.0 появились классы, позволяющие разрабатывать приложения, которые могут использовать протокол FTP. До этого приходилось использовать неуправляемые функции Windows API. Я расскажу об основных приемах, используемых в программах такого рода. Для начала надо объявить необходимые пространства имен:

using System.NET; using System.10;

Пространство имен System.NET необходимо для подключения классов, работающих с протоколом FTP, а пространство имен System, ю позволит нам проводить необходимые манипуляции с файлами. Далее надо придерживаться следующей последовательности:

1. Создать объект FtpWebRequest, КОТОрыЙ ПОЗВОЛИТ ПОДКЛЮЧИТЬСЯ к FTP-

серверу.



Закачка файла на FTP-сервер

Сначала мы закачаем файл на FTP-сервер. Для примера нам понадобится существующий сервер, с которым можно соединиться. Если у вас нет такого сервера, то можете завести себе собственную страницу на http: narod.yandex.ru, и у вас будет возможность закачивать файлы на сервер ftp.narod.ru, используя логин и пароль, полученный при регистрации. Именно к этому серверу мы и обращаемся в листинге 16.11.

Листинг 16,11. Закачка файла на FTP-сервер

using System.Net; using System.10;

Закачка файла на FTP-сервер

private void FTPUploadFile(string filename)

Filelnfo filelnfo = new Filelnfo(filename);

string uri = ftp: + ftp.narod.ru + / + filelnfo.Name; FtpWebRequest reqFTP;

Создаем объект FtpWebRequest, используя заданный адрес

2. Установить в свойстве Method созданного объекта необходимый тип операции с FTP-сервером (закачка файла на сервер, скачивание файла с сервера, создание папки и т. п.).

3. Сделать требуемые настройки соединения (поддержка SSL, бинарный режим передачи файлов и т. д.).

4. Указать данные для подключения к РТР-серверу (логин и пароль).

5. Выполнить указанную команду.

6. Получить поток (если требуется).

7. Закрыть запрос и открытые потоки.

Теперь приведем несколько простых примеров, которые наиболее часто используются при соединении с FTP-сервером.



reqFTP = (FtpWebRequest)FtpWebRequest.Create(

new Uri( ftp: + ftp.narod.ru + / + fileinfo.Name));

Используем учетную запись для доступа Используйте реальные данные

В этом примере используются вымышленные данные

reqFTP.Credentials = new NetworkCredential( csharp , narod );

По умолчанию свойство KeepAlive равно true,

если соединение не обрывается после выполнения команды

reqFTP.KeepAlive = false;

Задаем нужную команду.

reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

Указываем тип данных при передаче файлов reqFTP.UseBinary = true;

Сообш;аем серверу о размере закачиваемого файла reqFTP.ContentLength = fiieinfo.Length;

Устанавливаем размер буфера в 2 Кбайт int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen;

Открываем файловый поток (System.10.FileStream) для чтения FileStream fs = fileinfо.OpenRead();

try {

Поток, в который записывается закачиваемый на сервер файл Stream strm = reqFTP.GetRequestStream();

Читаем из файлового потока по 2 Кбайт за раз contentLen = fs.Read(buff, 0, buffLength);

Пока файл не закончился while (contentLen != 0) {

Запишем прочитанное в поток закачки strm.Write(buff. О, contentLen);



1 ... 140 141 142 [ 143 ] 144 145 146 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика