Загрузка файла методом post

 
0
 
.NET
ava
Ariman | 09.10.2007, 02:51
Здравствуйте, подскажите пожалуйста. Каким образом считать файл, и передать его вместе с другими параметрами в post запросе?

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

Comments (5)
ava
mr.DUDA | 09.10.2007, 09:57 #
Пример с 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;
}
ava
Ariman | 09.10.2007, 13:18 #
Спасибо. А используя httpwebrequest?
ava
mr.DUDA | 09.10.2007, 17:42 #
А чем WebClient не подходит?
ava
Ariman | 09.10.2007, 18:20 #

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();
}


Вот таким вот образом отправляю данные формы, но к запросу надо прикладывать еще и отправку файла соответственно. Как это сделать не возьму в толк. Веб клиентом подом подцеплять файл что-ли?
ava
Experimenter | 14.10.2007, 17:29 #
Подробности по ПОСТ-запросам здесь
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit