Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Upload файла в форму POST
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть на сервере форма — там всякие поля, поля, и аплоад файла. Вопрос заключается в том собственно — как залить файл на сервер? ВОт так я пользую передачу данных форме типа POST: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; byte[] requestBody = System.Text.Encoding.UTF8.GetBytes(param); request.ContentLength = requestBody.Length; using(Stream requestStream = request.GetRequestStream()) { requestStream.Write(requestBody, 0, requestBody.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using(StreamReader streamReader = new StreamReader(response.GetResponseStream())) { return streamReader.ReadToEnd(); } } как "передать" туда теперь файл? Т.е. с обычными параметрами ясно, там, к примеру: textboxName1=userTypedText&textboxName2=userTypedText2... А как быть с файлом? Я нарыл такую штуку: fileData = это данные из файла, param — стринг с параметрами HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = "POST"; request.ContentType = "multipart/form-data";/*"application/x-www-form-urlencoded"*/; request.KeepAlive = true; string dataBoundary = "--xyz"; StringBuilder DataString = new StringBuilder(); DataString.Append(dataBoundary + "\r\n"); DataString.Append("Content-Disposition: form-data; name=" + "\"" + "File1" + "\"; filename=" + "\"" + "TestFile3.txt" + "\"" + "\r\n"); DataString.Append("Content-Type: text/plain\r\n\r\n"); DataString.Append(fileData); DataString.Append(dataBoundary + "\r\n"); DataString.Append("Content-Disposition: form-data; name=" + "\"" + "Submit1" + "\"" + "\r\n\r\n" + "Upload\r\n" + dataBoundary + "--\r\n"); byte []Postdata = System.Text.Encoding.Default.GetBytes(DataString.ToString()); request.ContentLength = Postdata.Length; Stream tempStream = request.GetRequestStream(); tempStream.Write(Postdata,0,Postdata.Length); tempStream.Close(); HttpWebResponse Resp = (HttpWebResponse)request.GetResponse(); StreamReader sr = new StreamReader(Resp.GetResponseStream(), Encoding.Default); //Convert the stream to a string string s = sr.ReadToEnd(); sr.Close(); Resp.Close(); return s; Но эта штука у меня не работает. Скажите, где ошибка? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2006, 19:50 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=925&tid=1391423]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 326ms |

| 0 / 0 |
