Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/41: Рейтинг темы: голосов - 41, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 24.08.2010
Сообщений: 11

Загрузка файла по http

05.08.2013, 10:51. Показов 7589. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, проблема: гружу файл по http вот так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 async void ConnectToServer_Click(object sender, RoutedEventArgs e)
        {
            var serverAddressField = "http://<servername>/download/packages.txt";
            String fileNameField = "Assets\\download\\packages.txt";
            Uri source = new Uri(serverAddressField.Trim());
            String destination = fileNameField.Trim();
           
            try
            {
                
                StorageFile destinationFile = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri(_baseUri, destination));
                BackgroundDownloader downloader = new BackgroundDownloader();
                DownloadOperation download = downloader.CreateDownload(source, destinationFile);
                download.StartAsync();
            }
            catch (Exception ex)
            {
                Download.Content = ex.Message.ToString();
            }
И всё круто конечно. Загружается.
Только вот дело в том,что для загрузки необходимо наличие этого самого файла на диске,куда гружу. То есть у получателя должен быть файл packages.txt,чтобы писалось всё в него.

А можно ли как-то обойтись без предварительного создания файла?
Можно ли,чтобы он как бы копировался с сервера?

Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.08.2013, 10:51
Ответы с готовыми решениями:

Загрузка файла по HTTP
Всем доброго времени суток.Прошу вас о помощи! Мне нужно скачать большой файл по HTTP,для этого я использую этот код: WebClient update...

Загрузка файлов по http
Всех с наступающим! Беда у меня случилась. Раньше использовал для загрузки очень большого количества маленьких файлов(все в...

Загрузка картинки на сайт по http
Есть скрипт загрузки картинки(на php) &lt;?php if (isset ($_POST)) { $file = $_FILES; $tmp = $_FILES; $ext =...

5
 Аватар для FrostByte
104 / 104 / 19
Регистрация: 23.05.2013
Сообщений: 185
05.08.2013, 11:04
Попробуйте класс WebClient WebClient.DownloadFile - метод (String, String)
0
0 / 0 / 0
Регистрация: 24.08.2010
Сообщений: 11
05.08.2013, 11:16  [ТС]
Я бы рад,но не могу его использовать. Почему-то его не видно.

System.Net - есть.



В итоге не могу этот класс использовать.

Пробую создать переменную типа WebClient,а на неё ругается компилятор.

Работаю в Visual Studio 2012.
В 2010 всё было проще(

Добавлено через 1 минуту
А DownloadFile и правда работает с локальным файлом:

Метод DownloadFile загружает в локальный файл байтов данные из URI, заданного параметром address.
0
19 / 19 / 5
Регистрация: 16.09.2012
Сообщений: 80
05.08.2013, 11:27
Что-то в путаете. У меня тоже VS 2012. Скорее-всего вы пробуете на чистом проекте, вне методов, в классе, где втокомплит вам не показывает список методов.
Вот как у меня
0
75 / 80 / 51
Регистрация: 22.03.2013
Сообщений: 258
05.08.2013, 11:30
Февраль, На сколько а понял вы не знаете куда сохранять загруженный файл вот некий код может это:

На кнопку скачивания:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            Uri uri = new Uri("http://Сайт.ru/файл.rar");//для примера ссылка на файл
            webClient.DownloadFileAsync(uri, "имя файла.расширение");//сохраняем файл под именем
            webClient.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
            webClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(webClient_DownloadFileCompleted);
 
 void webClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
        {
            label1.Text = String.Format("Загружено: {0} Кбайт / {1} Кбайт", e.BytesReceived / 1024, e.TotalBytesToReceive / 1024);//Выводим в лейбл информацию о процессе загрузки
            progressBar1.Value = e.ProgressPercentage;// заполняем 
        }
void webClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            MessageBox.Show("Файл скачан!");//по окончанию загрузки выводим сообщение
            progressBar1.Value = 0;//сброс progressBar2  
            label1.Text = "Файл был успешно загружен";// сброс лейбл
        }
Внутри partial class Form1 : Form пишем:

C#
1
System.Net.WebClient webClient = new System.Net.WebClient();//Определяем
1
0 / 0 / 0
Регистрация: 24.08.2010
Сообщений: 11
05.08.2013, 11:45  [ТС]
Цитата Сообщение от rejjin Посмотреть сообщение
Что-то в путаете. У меня тоже VS 2012. Скорее-всего вы пробуете на чистом проекте, вне методов, в классе, где втокомплит вам не показывает список методов.
Вот как у меня
Для примера написал чуть выше. Я в другом методе этого класса пытаюсь использовать
http://ge.tt/7Gj590o/v/0?c
Там мелковато,но ошибка видна и видно,что есть using соответствующий.

Я тоже конечно подозреваю,что что-то делаю не так. Только не могу понять,что же это.

Добавлено через 2 минуты
Цитата Сообщение от ProgerHack Посмотреть сообщение
Февраль, На сколько а понял вы не знаете куда сохранять загруженный файл вот некий код может это:
Да нет,я знаю,кда сохранять. Проблема в том,что метод,который я использую пишет в ФАЙЛ. То есть файл должен быть создан,иначе он выдаёт ошибку.
А мне-то надо,чтобы файл скачивался просто. То есть копировался и вставлялся. А этот метод только писать в УЖЕ существующий файл может.
вот такая беда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.08.2013, 11:45
Помогаю со студенческими работами здесь

Загрузка XML по HTTP
Есть ли какие нибудь средства в .NET для осуществления сабжа ? Что нибудь аналогичное MSXML2.XMLHTTP. На данный момент имеем скрипт...

Загрузка файла на сервер по протоколу http
Товарищи программисты помогите пожалуйста с проблемой загрузки на файлообменник по протоколу http Проблема заключается в локальной...

Загрузка файла с HTTP сервера определение статуса загрузки
Всем доброго времени суток. Мне необходимо чтобы программа скачивала rar файл с сервера и распоковывала его в определенную папку для...

Загрузка файла по протоколу HTTP
Всем доброго дня/ночи/утра. Понадобилось загрузить файл средствами шарпа. Уже неделю мучаюсь, но ни как не могу понять реализацию. Были...

Progressbar и загрузка файла по HTTP
Доброго времени суток,уважаемые форумчане. Как реализовать скачивание файла(архив,10-50 мегабайт) с отображением процесса загрузки в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru