C# Загрузка файлов из интернета
Сегодня хотелось бы рассказать, как производить загрузку файлов из интернета в выбранную пользователем директорию. Попробуем написать небольшую простенькую программку, в которой пользователь будет указывать ссылку на скачивание файла и путь, куда его следует сохранить на компьютере.
Для начала создадим новый проект и добавим на него 2 textBox, 2 кнопки и 1 элемент folderBrowserDialog. В первый textBox пользователь будет указывать ссылку на файл, во второй будет помещаться путь до папки, в которую файл будет загружен. С помощью одной кнопки мы будет запускать диалоговое окно элемента folderBrowserDialog для выбора пути до папки сохранения, а с помощью второй кнопки мы будем запускать процесс загрузки. У меня получилась форма следующего вида:
В нашей программе для загрузки файлов мы будем использовать класс WebClient, поэтому необходимо подключить using System.Net; в нашем проекте. Для начала добавим действие по кнопке «Обзор»:
1 2 3 4 5 6 7 8 | private void button2_Click(object sender, EventArgs e) { DialogResult result = folderBrowserDialog1.ShowDialog(); if (result == DialogResult.OK) { textBox2.Text = folderBrowserDialog1.SelectedPath; } } |
Здесь мы обрабатываем нажатие кнопки «Ок» в диалоговом окне и после этого в textBox помещаем путь выбранный пользователем (SelectedPath). Теперь можно перейти обработки кнопки «Скачать»:
1 2 3 | string url = textBox1.Text; WebClient Client = new WebClient(); Client.DownloadFile(url, folderBrowserDialog1.SelectedPath + "\\" + Path.GetFileName(url)); |
В переменную url мы получили ссылку для скачивания файла, затем создали экземпляр класса WebClient, и воспользовавшись методом DownloadFile, загрузили файл, указав 2 параметра: первый — ссылка на файл и второй — путь до файла с его именем. Здесь пришлось извлечь имя файла из ссылки использовав метод GetFileName(); поэтому в проект необходимо подключить using System.IO;
Понравилась статья? Жми: | Поделиться в соц. сетях |