Вопрос : Архив изображения столба [бинарные данные] using HttpWebRequest терпит неудачу.

Я буду проблемой облицовки в вывешивать архивы изображения как бинарные данные к webpage. столб

If iего данные по формы using форма маркирует Action=URL и Method= " столб ", I m получая необходимый формы-data " enctype= " id= " form1 >



999/xhtml " nofollow " " rel= " _blank " target= " http://www.w3.org/1999/xhtml href= http://www.babypre/>.au/gatewadictor.comy/api.php " > удостоверение личности знаменитости
image1Data:

image1Data " сервера " " runat=:  
image2Data/> " сервера " " runat= FileUpload ID= " image1Data:
OR
image2Data " сервера " " runat=:

transaction_id FileUpload ID= " image2Data ":

security: cd691389 "/>

misc1:

misc2 " text= " miscval1 " TextBox ID= " misc1:

misc3 " text= " miscval2 " TextBox ID= " misc2:

misc4 " text= " miscval3 " TextBox ID= " misc3:
/>

" сервера " " runat= " text= " miscval4 TextBox ID= " misc4: Кнопка ID= " представляет " runat= " сервера " Text= " представляет "




But/>, если я пытаюсь послать данные по изображения using «HTTPWebRequest» путем формировать коллекторы, данные и трейлеры, то I m способное для того чтобы получить реакцию от вывешенного URL, но изображения morphed. [Rel= " nofollow "» _blank»» target= " http://www.babypredictor.com.au/gateway/api.php href= http://www.babypredictor. eway/api.php com.au/gat» получает 1 или 2 изображения, котор мы вывешиваем и morph они в одиночный pic и посылаем URL успеха].

Looks iий m делая некоторую ошибку в сообщении HTTP формируя пока оприходование к URL цели. Может любое угодить для того чтобы помочь мне вычислять вопрос и получать ему работу как столб нормальной формы.

Attached будет мое разрешение. Вы можете раскрыть использующ ПРОТИВ 2008.

I судимого using Firebug для того чтобы отлаживать первоначальные данные HTTP столба и они смотрят почти такие же как для оприходование ФОРМЫ, так и для оприходование HTTPWebRequest, но изображения morphed для моя последней. Желание кто-то может найти вопросом и помощью me.

Here будут мое

//public пустое HttpUploadFile HttpUploadFile свободного пространства публики Кодего столба Snippet.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(url шнура, HttpPostedFile file1, HttpPostedFile file2, paramName шнура, contentType шнура, nvc NameValueCollection) (url шнура, шнура file1, шнура file2, paramName шнура, contentType шнура, nvc NameValueCollection) {
//log.Debug (шнур. Форматируйте ( " Uploading {0} {1}», архив, url)); граница шнура
= «---------------------------» + DateTime.Now.Ticks.ToString («x»); boundarybytes байта
[] = System.Text.Encoding.ASCII.GetBytes (» \ r \ n--» + граница + «\ r \ n»); wr

HttpWebRequest = (HttpWebRequest) WebRequest.Create (url);
wr.ContentType = «многодетально/форм-данные; boundary=» + граница; wr
. Метод = «СТОЛБ»;
wr.KeepAlive = true; wr
. Документы = System.Net.CredentialCache.DefaultCredentials;            
            wr.Referer = url;

            wr.Примите = «текст/xml, применение/xml, application/xhtml+xml, текст/html; q=0.9, text/plain; q=0.8, image/png, */*; q=0.5»;
wr.UserAgent = «Mozilla/4.0 (совместимое; MSIE 6.0; Шиндошсо НТ 5.1; Q312461; .NET CLR 1.0.3705)»;
//wr.Accept = «изображение/gif, image/x-xbitmap, изображение/JPEG, изображение/pjpeg, application/vnd.ms-excel, применение/msword, application/x-shockwave-flash, */*»; rs потока

= wr.GetRequestStream (); formitem шнура

, коллектор; formdataTemplate шнура

= «Содержани-Решение: форм-данные; name= \» {0} \ «\ r \ n \ r \ n {1}»; foreach
(ключ шнура в nvc.
ключей) {rs
. Напишите (boundarybytes, 0, boundarybytes. Длина); formitem = шнур
. Форма (formdataTemplate, ключ, nvc [ключ]); formitembytes байта
[] = System.Text.Encoding.ASCII.GetBytes (formitem);
                rs.Напишите (formitembytes, 0, formitembytes. Длина); rs


}. Напишите (boundarybytes, 0, boundarybytes. Длина); headerTemplate шнура

= «Содержани-Решение: форм-данные; name= \» {0} \ «; filename= \» {1} \ «\ r \ nContent-Type: {2} \ r \ n \ r \ n»; коллектор = шнур
. Форма (headerTemplate, paramName, file1, contentType); headerbytes байта
[] = System.Text.Encoding.ASCII.GetBytes (header); rs
. Напишите (headerbytes, 0, headerbytes. Длина); поток

file1Stream = file1.InputStream; fileStream
//FileStream = новое FileStream (file1.FileName, FileMode.Open, FileAccess.Read); буфер байта
[] = новый байт [4096]; bytesRead
int = 0;
пока ((bytesRead = file1Stream.Read (буфер, 0, буфер. Длина)) ! = 0)
{encodedbuffer байта
[] = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (буфер)); rs
. Напишите (encodedbuffer, 0, bytesRead);
//fileStream.Close

} ();

если (file2.FileName! =string.
Empty) {коллектор = шнур
. Форма (headerTemplate, paramName, file2, contentType); headerbytes
= System.Text.Encoding.ASCII.GetBytes (header); rs
. Напишите (headerbytes, 0, headerbytes. Длина);

//fileStream = новое FileStream (file2.FileName, FileMode.Open, FileAccess.Read); Поток
file2Stream = file2.InputStream; bytesRead
= 0;
пока ((bytesRead = file2Stream.Read (буфер, 0, буфер. Длина)) ! = 0)
{encodedbuffer байта
[] = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (буфер)); rs
. Напишите (буфер, 0, bytesRead);
//fileStream.Close
} (); трейлер байта


} [] = System.Text.Encoding.ASCII.GetBytes (» \ r \ n--» + граница + «--\ r \ n»); rs
. Напишите (трейлер, 0, трейлер. Длина); rs
. Конец (); wresp = null

WebResponse; try

{wresp
= wr.GetResponse (); Поток
stream2 = wresp.GetResponseStream ();
StreamReader reader2 = новое StreamReader (stream2);
//log.Debug (шнур. Форма (uploaded архив, реакция " сервера является следующим: {0}», reader2.ReadToEnd ())); реакция шнура

= reader2.ReadToEnd ();

если (response.ToLower, то (). Contains («success»))
{шнур ResponseURL = реакция
. Подстрока (response.IndexOf (успех ": «) + «успех: ». Длина);

Result.Text = реакция + «


» + «src='" + ResponseURL »; else


} Result.Text = реакция + «
»;
задвижки

} (исключения ex) {
//log.Error («архив ошибки uploading», ex); finally



} {
если (wresp! =
null) {wresp
. Конец (); wresp = null
; wr = null

};

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

-Pamboo


}} class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
система " class= " id= " codeSnippet757099
using;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;

using System.IO;
using System.Net;
using System.Text;
using System.Collections;
using System.Collections.Specialized;

using System.Security.Cryptography;
using System.Configuration;

namespace YuuBabies
{

    общественное частично _Default типа: System.Web.UI.Page
    {   
        приватное secrect_code шнура;

        защищенное пустое Page_Load (прислужник предмета, EventArgs e)
        {
            если (! IsPostBack)
            {
                secrect_code = ConfigurationManager.AppSettings [«Secret_code»];
                Случайно случайно = новое случайно ();
                randomNo int = случайно. Затем (99999);

                transaction_id. Текст = (randomNo < 1000)? (1000 + randomNo) .ToString (): randomNo.ToString ();
                обеспеченность. Текст = GetMD5Hash («yuz00b3byP» + transaction_id. Текст);

            }
        }

        общественный шнур GetMD5Hash (шнур originalString)
        {
            textBytes байта [] = System.Text.Encoding.Default.GetBytes (originalString);
            попытка
            {
                cryptHandler System.Security.Cryptography.MD5CryptoServiceProvider;
                cryptHandler = новое System.Security.Cryptography.MD5CryptoServiceProvider ();
                хэш байта [] = cryptHandler.ComputeHash (textBytes);
                шнур ret = "";
                foreach (байт a в хэше)
                {
                    если (a < 16), то
                        ret += «0» + a.ToString («x»);
                    еще
                        ret += a.ToString («x»);
                }
                возвращение ret;
            }
            задвижка
            {
                ход;
            }

        }

        защищенное пустое Submit_Click (прислужник предмета, EventArgs e)
        {
            HttpPostedFile file1 = image1Data.PostedFile;
            HttpPostedFile file2 = image2Data.PostedFile;

            если (file1.FileName! =string. Пусто)
            {
                Nvc NameValueCollection = новое NameValueCollection ();
                nvc. Добавьте («image1DataID», image1DataID.Text);
                nvc. Добавьте («image2DataID», image2DataID.Text);
                nvc. Добавьте («transaction_id», transaction_id. Текст);
                nvc. Добавьте («обеспеченность», обеспеченность. Текст);
                nvc. Добавьте («misc1», misc1.Text);
                nvc. Добавьте («misc2», misc2.Text);
                nvc. Добавьте («misc3», misc3.Text);
                nvc. Добавьте («misc4», misc4.Text);
                     
                //HttpUploadFile (" http://www.babypredictor.com.au/gateway/api.php», imagefile1FullPathName.Value, imagefile2FullPathName.Value, «архив», «изображение/JPEG», nvc);
                HttpUploadFile («http://www.babypredictor.com.au/gateway/api.php», file1, file2, «архив», «изображение/JPEG», nvc);

            }

        }
        публика пустое HttpUploadFile (url шнура, HttpPostedFile file1, HttpPostedFile file2, paramName шнура, contentType шнура, nvc NameValueCollection)     
        //public пустое HttpUploadFile (url шнура, шнур file1, шнур file2, paramName шнура, contentType шнура, nvc NameValueCollection)
        {         
            //log.Debug (шнур. Форматируйте («Uploading {0} к {1}», архив, url));
            зашнуруйте границу = «---------------------------» + DateTime.Now.Ticks.ToString («x»);
            boundarybytes байта [] = System.Text.Encoding.ASCII.GetBytes («\ r \ n--» + граница + «\ r \ n»);

            Wr HttpWebRequest = (HttpWebRequest) WebRequest.Create (url);
            wr.ContentType = «многодетально/форм-данные; boundary=» + граница;
            wr. Метод = «СТОЛБ»;
            wr.KeepAlive = true;
            wr. Документы = System.Net.CredentialCache.DefaultCredentials;            
            wr. Referer = url;

            wr. Примите = «текст/xml, применение/xml, применение/xhtml+xml, текст/HTML; q=0.9, текст/обыкновенное толком; q=0.8, изображение/PNG, */*; q=0.5»;
            wr.UserAgent = «Mozilla/4.0 (совместимое; MSIE 6.0; Шиндошсо НТ 5.1; Q312461; .NET CLR 1.0.3705)»;
            //wr.Accept = «изображение/gif, image/x-xbitmap, изображение/JPEG, изображение/pjpeg, применение/vnd.ms-excel, применение/msword, application/x-shockwave-flash, */*»;

            Rs потока = wr.GetRequestStream ();

            formitem шнура, коллектор;

            formdataTemplate шнура = «Содержани-Решение: форм-данные; name= \» {0} \ «\ r \ n \ r \ n {1}»;
            foreach (ключ шнура в nvc. Ключи)
            {
                rs. Напишите (boundarybytes, 0, boundarybytes. Длина);
                formitem = шнур. Форма (formdataTemplate, ключ, nvc [ключ]);
                formitembytes байта [] = System.Text.Encoding.ASCII.GetBytes (formitem);
                rs. Напишите (formitembytes, 0, formitembytes. Длина);
            }

            rs. Напишите (boundarybytes, 0, boundarybytes. Длина);
          
            headerTemplate шнура = «Содержани-Решение: форм-данные; name= \» {0} \ «; filename= \» {1} \ «\ r \ nContent-Тип: {2} \ r \ n \ r \ n»;
            коллектор = шнур. Форма (headerTemplate, paramName, file1, contentType);
            headerbytes байта [] = System.Text.Encoding.ASCII.GetBytes (коллектор);
            rs. Напишите (headerbytes, 0, headerbytes. Длина);

            Поток file1Stream = file1.InputStream;
            fileStream //FileStream = новое FileStream (file1.FileName, FileMode.Open, FileAccess.Read);
            буфер байта [] = новый байт [4096];
            bytesRead int = 0;
            пока ((bytesRead = file1Stream.Read (буфер, 0, амортизирует. Длина)) ! = 0)
            {
                encodedbuffer байта [] = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (буфер));
                rs. Напишите (encodedbuffer, 0, bytesRead);
            }
            
            //fileStream.Close ();

            если (file2.FileName! =string. Пусто)
            {
                коллектор = шнур. Форма (headerTemplate, paramName, file2, contentType);
                headerbytes = System.Text.Encoding.ASCII.GetBytes (коллектор);
                rs. Напишите (headerbytes, 0, headerbytes. Длина);

                //fileStream = новое FileStream (file2.FileName, FileMode.Open, FileAccess.Read);
                Поток file2Stream = file2.InputStream;
                bytesRead = 0;
                пока ((bytesRead = file2Stream.Read (буфер, 0, амортизирует. Длина)) ! = 0)
                {
                    encodedbuffer байта [] = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (буфер));
                    rs. Напишите (буфер, 0, bytesRead);
                }
                //fileStream.Close ();
            }

            трейлер байта [] = System.Text.Encoding.ASCII.GetBytes («\ r \ n--» + граница + «--\ r \ n»);
            rs. Напишите (трейлер, 0, трейлер. Длина);
            rs. Конец ();

            Wresp = null WebResponse;
            попытка
            {
                wresp = wr.GetResponse ();
                Поток stream2 = wresp.GetResponseStream ();
                StreamReader reader2 = новое StreamReader (stream2);
                //log.Debug (шнур. Форма («uploaded архив, реакция сервера является следующим: {0}», reader2.ReadToEnd ()));

                реакция шнура = reader2.ReadToEnd ();

                если (response.ToLower, то (). Содержит («успех»))
                {
                    шнур ResponseURL = реакция. Подстрока (response.IndexOf («успех: ") + «успех: ». Длина);

                    Result.Text = реакция + «


» + «src='" + ResponseURL »; } еще Result.Text = реакция + «
»; } задвижка (исключение ex) { //log.Error («архив ошибки uploading», ex); } окончательно { если (wresp! = null) { wresp. Конец (); wresp = null; } wr = null; } } } }
class=

Ответ : Архив изображения столба [бинарные данные] using HttpWebRequest терпит неудачу.

Оно принимает некоторое время рассмотреть ваше Кодего, настолько тем временем я о свободное временя оценить ваше Кодего для того чтобы помочь вам, почему не попытка что-то вне--коробка которая может служить ваша немедленно потребность. Пожалуйста имейте взгляд на следующий URL и загружайте atta

http://aspnetupload.com/Upload-File-POST-HttpWebRequest-WebClient-RFC-1867.aspx

и загружайте Кодего упомянутое в статье отсюда: http://aspnetupload.com/Download-Source.aspx

Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us