Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
bulatei
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
1

Как прикрепить прогресс бар к скачиванию файлов по FTP

28.08.2015, 17:40. Просмотров 275. Ответов 0
Метки нет (Все метки)

Как прикрепить прогресс бар к этому коду?
Файлы скачиваются в цикле и адреса берутся из xml.
Не видно скачиваются или нет и еще подвисает программа когда файлов много.
Нужно чтобы открывалась новое окошко и там показывала сколько файлов к скачиванию, который файл скачивается и один прогресс бар(примерно как на картинке).
А после окончания вывести MessageBox.
Название: Скач.PNG
Просмотров: 21

Размер: 2.5 Кб

Вот код что я состряпал:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
private void button2_Click(object sender, EventArgs e)
{
    Download(Data.Uni, Data.Id);
}
 
public void Download(string DataUni, string DataId)
{
    string localFolder = Data.localPatch + "\\" + DataId;
    if (!Directory.Exists(localFolder))
    {
        DirectoryInfo createDir = Directory.CreateDirectory(localFolder);
    }
    XDocument xFile = XDocument.Load(@"http://site.ru/xml.php?uni=" + DataUni);
    foreach (XElement file in xFile.Descendants("file"))
    {
        string locPatch = localFolder + "\\" + file.Element("new_name").Value;
        string ftp_patch = file.Element("path").Value + "/" + file.Element("name").Value;
 
        FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://" + Data.FtpHost + "/" + ftp_patch);
        ftpRequest.Credentials = new NetworkCredential(Data.FtpUser, Data.FtpPass);
        ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
        ftpRequest.EnableSsl = _UseSSL;
 
        FileStream downloadedFile = new FileStream(locPatch, FileMode.Create, FileAccess.ReadWrite);
 
        FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
        Stream responseStream = ftpResponse.GetResponseStream();
        byte[] buffer = new byte[1024];
        int size = 0;
        while ((size = responseStream.Read(buffer, 0, 1024)) > 0)
        {
            downloadedFile.Write(buffer, 0, size);
        }
        ftpResponse.Close();
        downloadedFile.Close();
        responseStream.Close();
    }
}
 
private bool _UseSSL = false;
public bool UseSSL
{
    get
    {
        return _UseSSL;
    }
    set
    {
        _UseSSL = value;
    }
}

и xml откуда получаю адреса файлов:
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<files>
<file>
<path>
images/c4ca4238a0b923820dcc509a6f75849b
</path>
<name>chrysanthemum.jpg</name>
<new_name>
Хризантема.jpg
</new_name>
</file>
<file>
<path>
images/c4ca4238a0b923820dcc509a6f75849b
</path>
<name>desert.jpg</name>
<new_name>
Пустыня.jpg
</new_name>
</file>
</files>

Возможно и то что я написал можно сделать попроще, буду рад любой помощи.
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2015, 17:40
Ответы с готовыми решениями:

Прогресс бар и копирование-удаление файлов
В общем возникла надобность в привязке процесса копирования-удаления папки-файлов к прогресс бару,...

Как обновить прогресс бар, если основной поток ждет его
привет, вопрос как обновить прогресс бар, если основной поток ждет его? получается мы увидим только...

Прогресс бар
Добрый день у меня есть richTextBox как из него выгрузить все строки в файл при этом организовать...

Круглый прогресс бар
Как создать собственный круглый прогресс бар? В интернете нашел только на WPF. Кто не понял о...

Прогресс бар с текстом
Как сделать (или может кто знает ссылочку на компоненту) прогресс бар, чтобы кроме отображения...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2015, 17:40

Прогресс бар и копирование
Здравствуйте, я никак не могу сообразить и найти подсказку, о том как мне привязать процесс...

Потоки и прогресс бар
Делаю парсер кучи страниц (более 100000), хочу сделать так, чтобы программа не висла при загрузке и...

Прогресс бар для скачивания видео
Привет всем! Написал программу. Она скачивает видео по ссылке на него, все работает, но если видео...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru