Vraag : Het post beelddossier die [Binaire Gegevens] HttpWebRequest gebruiken ontbreekt.

Ik zie probleem in het posten van beelddossiers als binaire gegevens aan een webpage onder ogen.

If I post de gegevens van de Vorm gebruikend de markering Action=URL van de Vorm en Method= " Post ", I m die het vereiste succes result.

http://www.w3.org/1 999/xhtml " >



http://www.babypre dictor.com.au/gateway/api.php " runat= " server " >
image1Data identiteitskaart Celeb:

image1Data JPEG:  

image2Data Celeb:
OR
image2Data JPEG:

transaction_id:

security: >

misc1:

misc2:

misc3:

misc4:








But " voorlegt ", als ik probeer om de beeldgegevens gebruikend „HTTPWebRequest“ door de kopballen te vormen, gegevens en aanhangwagens, I m te verzenden bekwaam om de reactie van geposte URL te krijgen, maar de beelden zijn niet morphed. [Het doel URL „ http://www.babypredictor. com.au/gat eway/api.php“ ontvangt 1 of 2 beelden die wij en morph hen in één enkele pic hebben gepost en het succes URL verzonden].

Looks I m één of andere fout in het HTTP- bericht doen die terwijl het posten aan het doel URL vormen zich. Kan iedereen me alstublieft helpen om de kwestie voor te stellen en het te krijgen het werk zoals de normale Post van de Vorm.

Attached is mijn oplossing. U kunt het gebruiken VERSUS geprobeerde 2008.

I openen gebruikend Firebug om de post ruwe gegevens van HTTP te zuiveren en het kijkt bijna zelfde voor zowel het posten van de VORM als het Posten HTTPWebRequest, maar de beelden zijn niet morphed voor mijn recenter. De wens iemand kan de kwestie vinden en de hulp me.

Here is mijn HTTPWebRequest PostCode Snippet.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
openbare nietige HttpUploadFile (koord url, HttpPostedFile file1, HttpPostedFile file2, koord paramName, koord contentType, NameValueCollection nvc)
//public nietige HttpUploadFile (koord url, koord file1, koord file2, koord paramName, koord contentType, NameValueCollection nvc)
{
//log.Debug (koord. Formaat ( " Uploading {0} {1}“, dossier, url));
koordgrens = „--“ + DateTime.Now.Ticks.ToString („x“); /> byte
.GetBytes (“ \ r \ n--“ + grens + „\ r \ n“);

HttpWebRequest wr = (HttpWebRequest) WebRequest.Create (url);
wr.ContentType = „meerdelig/vorm-gegevens; boundary=“ + grens;
wr. Methode = „POST“;
wr.KeepAlive = waar;
wr. Geloofsbrieven = System.Net.CredentialCache.DefaultCredentials;            
            wr.Referer = url;

            wr.Keur = „tekst/xml, toepassing/xml, application/xhtml+xml, tekst/html goed; q=0.9, text/plain; q=0.8, image/png, */*; q=0.5“;
wr.UserAgent = „Mozilla/4.0 (compatibel systeem; MSIE 6.0; Vensters NT 5.1; Q312461; .NET CLR 1.0.3705)“;
//wr.Accept = „beeld/GIF, image/x-xbitmap, beeld/jpeg, beeld/pjpeg, application/vnd.ms-excel, toepassing/msword, application/x-schokgolf/>ash, */*“; /> Stroom

koord

koord

foreach (koordsleutel in nvc. Sleutel)
{
rs. Schrijf (boundarybytes, 0, boundarybytes. Lengte);
formitem = koord. Formaat (formdataTemplate, sleutel, nvc [sleutel]); /> byte
.GetBytes (formitem);
                rs.Schrijf (formitembytes, 0, formitembytes. Lengte);
}

rs. Schrijf (boundarybytes, 0, boundarybytes. Lengte);

koord headerTemplate = „tevreden-Regeling: vorm-gegevens; name= \“ {0} \ „; filename= \“ {1} \ „\ r \ nContent-Type: {2} \ r \ n \ r \ n“; /> kopbal
te, paramName, file1, contentType); /> byte
.GetBytes (header);
rs. Schrijf (headerbytes, 0, headerbytes. Lengte); /> Stroom

//FileStream fileStream = nieuwe FileStream (file1.FileName, FileMode.Open, FileAccess.Read);
byte [] buffer = nieuwe byte [4096];
int. bytesRead = 0;
terwijl ((bytesRead = file1Stream.Read (buffer, 0, buffer. Lengte)) ! = 0)
{/> byte
.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (buffer));
rs. Schrijf (encodedbuffer, 0, bytesRead);
}

//fileStream.Close ();

als (file2.FileName! het =string. Empty)
{/> kopbal
te, paramName, file2, contentType);
headerbytes = System.Text.Encoding.ASCII.GetBytes (header);
rs. Schrijf (headerbytes, 0, headerbytes. Lengte);

//fileStream = nieuwe FileStream (file2.FileName, FileMode.Open, FileAccess.Read); /> Stroom
bytesRead = 0;
terwijl ((bytesRead = file2Stream.Read (buffer, 0, buffer. Lengte)) ! = 0)
{/> byte
.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (buffer));
rs. Schrijf (buffer, 0, bytesRead);
}
//fileStream.Close ();
}

byte [] aanhangwagen = System.Text.Encoding.ASCII.GetBytes (“ \ r \ n--“ + grens + „--\ r \ n“);
rs. Schrijf (aanhangwagen, 0, aanhangwagen. Lengte);
rs. Sluit ();

WebResponse wresp = verklaart nietig;
try
{
wresp = wr.GetResponse (); /> Stroom

StreamReader reader2 = nieuwe StreamReader (stream2);
//log.Debug (koord. Formaat (/> " geuploade het Dossier
koordreactie = reader2.ReadToEnd ();

als (response.ToLower (). Contains („success“))
{
koord ResponseURL = reactie. Substring (response.IndexOf (/> " succes ) + „succes: “. Lengte);

Result.Text = reactie + „


“ + „“;
}
else
Result.Text = reactie + „
“; />}
vangst
{
//log.Error („Fout die dossier uploaden“, ex);

}
finally
{
als (wresp! = verklaar)
nietig {
wresp. Sluit ();
wresp = verklaart nietig;
}
wr = verklaart nietig;
}
}

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

-Pamboo
" codeBody "
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:
using Systeem;
het gebruiken van System.Collections.Generic;
het gebruiken van System.Linq;
het gebruiken van System.Web;
het gebruiken van System.Web.UI;
het gebruiken van System.Web.UI.WebControls;
het gebruiken van System.Drawing;

het gebruiken van System.IO;
het gebruiken van System.Net;
het gebruiken van System.Text;
het gebruiken van System.Collections;
het gebruiken van System.Collections.Specialized;

het gebruiken van System.Security.Cryptography;
het gebruiken van System.Configuration;

namespace YuuBabies
{

    openbare gedeeltelijke klasse _Default: System.Web.UI.Page
    {   
        privé koord secrect_code;

        beschermde nietige Page_Load (objecten afzender, EventArgs e)
        {
            als (! IsPostBack)
            {
                secrect_code = ConfigurationManager.AppSettings [„Secret_code“];
                Willekeurige willekeurig = nieuwe Willekeurig ();
                int. randomNo = willekeurig. Daarna (99999);

                transaction_id. Tekst = (randomNo < 1000)? (1000 + randomNo) .ToString (): randomNo.ToString ();
                veiligheid. Tekst = GetMD5Hash („yuz00b3byP“ + transaction_id. Tekst);

            }
        }

        openbaar koord GetMD5Hash (koord die originalString)
        {
            byte [] textBytes = System.Text.Encoding.Default.GetBytes (het originalString);
            probeer
            {
                System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler;
                cryptHandler = nieuwe System.Security.Cryptography.MD5CryptoServiceProvider ();
                byte [] knoeiboel = cryptHandler.ComputeHash (textBytes);
                het koord root = "";
                foreach (byte a in knoeiboel)
                {
                    als (a < 16)
                        root += „0“ + a.ToString („x“);
                    anders
                        root += a.ToString („x“);
                }
                de terugkeer root;
            }
            vangst
            {
                werp;
            }

        }

        beschermde nietige Submit_Click (objecten afzender, EventArgs e)
        {
            HttpPostedFile file1 = image1Data.PostedFile;
            HttpPostedFile file2 = image2Data.PostedFile;

            als (file1.FileName! het =string. Leeg)
            {
                NameValueCollection nvc = nieuwe NameValueCollection ();
                nvc. Voeg toe („image1DataID“, image1DataID.Text);
                nvc. Voeg toe („image2DataID“, image2DataID.Text);
                nvc. Voeg toe („transaction_id“, transaction_id. Tekst);
                nvc. Voeg toe („veiligheid“, veiligheid. Tekst);
                nvc. Voeg toe („misc1“, misc1.Text);
                nvc. Voeg toe („misc2“, misc2.Text);
                nvc. Voeg toe („misc3“, misc3.Text);
                nvc. Voeg toe („misc4“, misc4.Text);
                     
                //HttpUploadFile („http://www.babypredictor.com.au/gateway/api.php“, imagefile1FullPathName.Value, imagefile2FullPathName.Value, „dossier“, „beeld/jpeg“, nvc);
                HttpUploadFile („http://www.babypredictor.com.au/gateway/api.php“, file1, file2, „dossier“, „beeld/jpeg“, nvc);

            }

        }
        openbare nietige HttpUploadFile (koord url, HttpPostedFile file1, HttpPostedFile file2, koord paramName, koord contentType, NameValueCollection nvc)     
        //public nietige HttpUploadFile (koord url, koord file1, koord file2, koord paramName, koord contentType, NameValueCollection nvc)
        {         
            //log.Debug (koord. Formaat („Uploadend {0} aan {1}“, dossier, url));
            koord grens = „“ + DateTime.Now.Ticks.ToString („x“);
            byte [] boundarybytes = System.Text.Encoding.ASCII.GetBytes („\ r \ n--“ + grens + „\ r \ n“);

            HttpWebRequest wr = (HttpWebRequest) WebRequest.Create (url);
            wr.ContentType = „meerdelig/vorm-gegevens; boundary=“ + grens;
            wr. Methode = „POST“;
            wr.KeepAlive = waar;
            wr. Geloofsbrieven = System.Net.CredentialCache.DefaultCredentials;            
            wr. Referer = url;

            wr. Keur = „tekst/xml, toepassing/xml, toepassing/xhtml+xml, tekst/HTML goed; q=0.9, tekst/vlakte; q=0.8, beeld/PNG, */*; q=0.5“;
            wr.UserAgent = „Mozilla/4.0 (compatibel systeem; MSIE 6.0; Vensters NT 5.1; Q312461; .NET CLR 1.0.3705)“;
            //wr.Accept = „beeld/GIF, image/x-xbitmap, beeld/jpeg, beeld/pjpeg, toepassing/vnd.ms-blinkt, toepassing/msword, application/x-schokgolf-flits, */*“ uit;

            Stroom rs = wr.GetRequestStream ();

            koord formitem, kopbal;

            koord formdataTemplate = „tevreden-Regeling: vorm-gegevens; name= \“ {0} \ „\ r \ n \ r \ n {1}“;
            foreach (koordsleutel in nvc. Sleutel)
            {
                rs. Schrijf (boundarybytes, 0, boundarybytes. Lengte);
                formitem = koord. Formaat (formdataTemplate, sleutel, nvc [sleutel]);
                byte [] formitembytes = System.Text.Encoding.ASCII.GetBytes (formitem);
                rs. Schrijf (formitembytes, 0, formitembytes. Lengte);
            }

            rs. Schrijf (boundarybytes, 0, boundarybytes. Lengte);
          
            koord headerTemplate = „tevreden-Regeling: vorm-gegevens; name= \“ {0} \ „; filename= \“ {1} \ „\ r \ nContent-type: {2} \ r \ n \ r \ n“;
            kopbal = koord. Formaat (headerTemplate, paramName, file1, contentType);
            byte [] headerbytes = System.Text.Encoding.ASCII.GetBytes (kopbal);
            rs. Schrijf (headerbytes, 0, headerbytes. Lengte);

            Stroom file1Stream = file1.InputStream;
            //FileStream fileStream = nieuwe FileStream (file1.FileName, FileMode.Open, FileAccess.Read);
            byte [] buffer = nieuwe byte [4096];
            int. bytesRead = 0;
            terwijl ((bytesRead = file1Stream.Read (buffer, 0, buffer. Lengte)) ! = 0)
            {
                byte [] encodedbuffer = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (buffer));
                rs. Schrijf (encodedbuffer, 0, bytesRead);
            }
            
            //fileStream.Close ();

            als (file2.FileName! het =string. Leeg)
            {
                kopbal = koord. Formaat (headerTemplate, paramName, file2, contentType);
                headerbytes = System.Text.Encoding.ASCII.GetBytes (kopbal);
                rs. Schrijf (headerbytes, 0, headerbytes. Lengte);

                //fileStream = nieuwe FileStream (file2.FileName, FileMode.Open, FileAccess.Read);
                Stroom file2Stream = file2.InputStream;
                bytesRead = 0;
                terwijl ((bytesRead = file2Stream.Read (buffer, 0, buffer. Lengte)) ! = 0)
                {
                    byte [] encodedbuffer = System.Text.Encoding.ASCII.GetBytes (System.Text.ASCIIEncoding.ASCII.GetString (buffer));
                    rs. Schrijf (buffer, 0, bytesRead);
                }
                //fileStream.Close ();
            }

            byte [] aanhangwagen = System.Text.Encoding.ASCII.GetBytes („\ r \ n--“ + grens + „--\ r \ n“);
            rs. Schrijf (aanhangwagen, 0, aanhangwagen. Lengte);
            rs. Sluit ();

            WebResponse wresp = verklaart nietig;
            probeer
            {
                wresp = wr.GetResponse ();
                Stroom stream2 = wresp.GetResponseStream ();
                StreamReader reader2 = nieuwe StreamReader (stream2);
                //log.Debug (koord. Formaat („geuploade het Dossier, serverreactie is: {0}“, reader2.ReadToEnd ()));

                koord reactie = reader2.ReadToEnd ();

                als (response.ToLower (). Bevat („succes“))
                {
                    koord ResponseURL = reactie. Substring (response.IndexOf („succes: “) + „succes: “. Lengte);

                    Result.Text = reactie + „


“ + „“; } anders Result.Text = reactie + „
“; } vangst (ex Uitzondering) { //log.Error („Fout die dossier uploaden“, ex); } tot slot { als (wresp! = verklaar) nietig { wresp. Sluit (); wresp = verklaar nietig; } wr = verklaar nietig; } } } }

Antwoord : Het post beelddossier die [Binaire Gegevens] HttpWebRequest gebruiken ontbreekt.

Het vergt wat tijd om uw code te herzien, zo ondertussen ik vrije tijd om uw code te evalueren om u bij te staan, waarom iets niet proberen uit-van-doos die uw directe behoefte kan dienen. Hebben gelieve een blik bij volgende URL en atta te downloaden

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

en download de code in het artikel dat hier wordt vermeld van: http://aspnetupload.com/Download-Source.aspx

Andere oplossingen  
 
programming4us programming4us