Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка файла методом post, Как считать файл и передать его 
:(
    Опции темы
Ariman
Дата 9.10.2007, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Здравствуйте, подскажите пожалуйста. Каким образом считать файл, и передать его вместе с другими параметрами в post запросе?

Заранее спасибо за любой ответ.


PM MAIL   Вверх
mr.DUDA
Дата 9.10.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



Пример с codeproject, правда не проверял:
Код
//
// For uploading the file
//
try
{ 
    WebClient oclient = new WebClient(); 
    byte[] responseArray = 
       oclient.UploadFile(txtURLToSend.Text,"POST",txtFileToSend.Text); 
    lblStatus.Text = 
       "Check the file at " + Encoding.ASCII.GetString(responseArray); 
} 
catch (Exception ex) 
{ 
    lblStatus.Text = ex.Message;
}

//
// For downloading the file
//
try
{
    WebClient oclient = new WebClient();
    oclient.DownloadFile(txtURL.Text,txtFileLocation.Text);
    lblStatus.Text = "Check the file at " + txtFileLocation.Text;
}
catch (Exception ex)
{
    lblStatus.Text = ex.Message;
}



--------------------
user posted image
PM MAIL WWW   Вверх
Ariman
Дата 9.10.2007, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Спасибо. А используя httpwebrequest?
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



А чем WebClient не подходит?


--------------------
user posted image
PM MAIL WWW   Вверх
Ariman
Дата 9.10.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Код

            string boundary = "----------" + DateTime.Now.Ticks.ToString("x");
           
                     fileName = Path.GetFullPath("C:\\1.zip");
  
                      HttpWebRequest req = (HttpWebRequest)WebRequest.Create(siteURL);

            string postdata = "--" + boundary + "\r\nContent-Disposition: form-data; name=\"sfile\"; filename=\"" + Path.GetFileName(fileName) + "\"" + "\r\nContent-Type: application/octet-stream\r\n";

                   
            
           req.Method = "POST";
           req.ContentLength = postdata.Length;
           req.ContentType = "multipart/form-data; boundary=" + boundary;
           req.Accept = "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1";
           req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3";
           req.Referer = "http://";


           sw = new StreamWriter(req.GetRequestStream());

           byte[] sendbuffer = Encoding.UTF8.GetBytes(postdata);

           sw.Write(postdata);
           sw.Close();

            WebResponse resp = (HttpWebResponse)req.GetResponse();
            StreamReader srData = new StreamReader(resp.GetResponseStream());

          string outHtml = srData.ReadToEnd();
           richTextBox1.Text= outHtml;
           resp.Close();
           srData.Close();
            }


Вот таким вот образом отправляю данные формы, но к запросу надо прикладывать еще и отправку файла соответственно. Как это сделать не возьму в толк. Веб клиентом подом подцеплять файл что-ли?

Это сообщение отредактировал(а) Ariman - 9.10.2007, 18:21
PM MAIL   Вверх
Experimenter
Дата 14.10.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 1
Всего: 17



Подробности по ПОСТ-запросам здесь


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.