Click here to Skip to main content
15,891,704 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have prolem with uloadinge image to server
i try to upload image and send data (POST) method a the same time

i use this code

HttpWebResponse response;                Stream resStream;                StreamReader objSR;                CookieContainer cookieContainer = new CookieContainer();                ASCIIEncoding encoding = new ASCIIEncoding();                HttpWebRequest request;                string sResponse;                string postData;                byte[]  data;                string UrlLogin;                
//Upload Image Page **************************************                
//**************************************************************
                UrlLogin = "http://localhost:63637/whois/test0.aspx";                string uploadfile = "C:\\fax\\pics\\7130570.jpg";                string fileFormName = "userfile";                string contenttype = "image/pjpeg";                postData = "?wm_flag=" + "0";                postData += ("&action=" + "process");                postData += ("&hi=" + "ft");                request = (HttpWebRequest)WebRequest.Create(UrlLogin + postData);                //request.Accept = "*/*";                request.KeepAlive = true;                request.CookieContainer = cookieContainer;                string boundary = "----------" + DateTime.Now.Ticks.ToString("x");                request.ContentType = "multipart/form-data; boundary=" + boundary;                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";                request.Method = "POST";                request.AllowAutoRedirect = true;                data = encoding.GetBytes(postData);                StringBuilder sb = new StringBuilder();                sb.Append("--"); sb.Append(boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\""); sb.Append(fileFormName); sb.Append("\"; filename=\"");                sb.Append(Path.GetFileName(uploadfile)); sb.Append("\""); sb.Append("\r\n"); sb.Append("Content-Type: "); sb.Append(contenttype); sb.Append("\r\n"); sb.Append("\r\n");                string postHeader = sb.ToString();                byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);                // Build the trailing boundary string as a byte array                // ensuring the boundary appears on a line by itself                byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");                FileStream fileStream = new FileStream(uploadfile, FileMode.Open, FileAccess.Read);                long length = postHeaderBytes.Length + fileStream.Length + boundaryBytes.Length;// +data.Length;                //postData += ("&userfile=" + "C:\\Users\\tareq\\Desktop\\111111.jpg");                                request.ContentLength = length;//data.Length;                Stream requestStream = request.GetRequestStream();                requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);                byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)fileStream.Length))];                int bytesRead = 0;                while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)                    requestStream.Write(buffer, 0, bytesRead);                requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);                response = (HttpWebResponse)request.GetResponse();                resStream = response.GetResponseStream();                objSR = new StreamReader(resStream);                sResponse = objSR.ReadToEnd();



this code workfinewithout any problem with uploading photo
but my problem with i request.form["wm_flag"] in the server i got error because i must send it as POST and i don't know how to do it ?? please HELP ...
Posted

1 solution

i found the solution by adding


C#
sb.AppendLine(string.Format("Content-Disposition: form-data; name=\"{0}\"", p.Name));
sb.AppendLine();
sb.AppendLine(p.Value);
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900