天天看点

HttpWebRequest 方式提交文件数据-以图片为例

<code>public</code> <code>void</code> <code>StartPing1(</code><code>string</code> <code>pingURL)</code>

<code>        </code><code>{</code>

<code>            </code><code>HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pingURL);</code>

<code>            </code><code>FileStream fs =</code><code>new</code> <code>FileStream(</code><code>@"D:\111.jpg"</code><code>, FileMode.Open, FileAccess.Read);</code>

<code>            </code><code>Byte[] bytes =</code><code>new</code> <code>Byte[10240];</code>

<code>            </code><code>request.Method =</code><code>"POST"</code><code>;</code>

<code>            </code><code>request.Proxy =</code><code>null</code><code>;</code>

<code>            </code><code>//request.Headers.Add("XXX", "XXX");</code>

<code>            </code><code>request.ContentType =</code><code>"application/octet-stream"</code><code>;</code>

<code>            </code><code>Stream dataStream = request.GetRequestStream();</code>

<code>            </code><code>int</code> <code>count = fs.Read(bytes, 0, 10240);</code>

<code>            </code><code>while</code> <code>(count != 0)</code>

<code>            </code><code>{</code>

<code>                </code><code>dataStream.Write(bytes, 0, count);</code>

<code>                </code><code>count = fs.Read(bytes, 0, 10240);</code>

<code>            </code><code>}</code>

<code>            </code><code>fs.Close();</code>

<code>            </code><code>dataStream.Close();</code>

<code>            </code><code>try</code>

<code>                </code><code>HttpWebResponse response = (HttpWebResponse)request.GetResponse();</code>

<code>                </code><code>StreamReader sr =</code><code>new</code> <code>StreamReader(response.GetResponseStream(), Encoding.ASCII);</code>

<code>                </code><code>string</code> <code>ret = sr.ReadToEnd();</code>

<code>                </code><code>response.Close();</code>

<code>            </code><code>catch</code> <code>(System.Exception ex)</code>

<code>                </code><code>Console.WriteLine(</code><code>"!!!!!!ERROR!!!!!!!!"</code> <code>+ ex.ToString() +</code><code>"!!!!!!!!ERROR!!!!!!!!"</code><code>);</code>

<code>        </code><code>}</code>

  

---下面是服务器端接收方法:

<code>加载事件中:</code>

<code>/*</code>

<code>            </code><code>//StartPing1 方法 传送文件的</code>

<code>            </code><code>System.Drawing.Image postImage = System.Drawing.Image.FromStream(Request.InputStream);</code>

<code>            </code><code>System.Drawing.Bitmap bitmap_b = new System.Drawing.Bitmap(postImage);</code>

<code>            </code><code>string Opath = @"D:\";</code>

<code>            </code><code>string photoname = DateTime.Now.Ticks.ToString();</code>

<code>            </code><code>bitmap_b.Save(Opath + "\\" + photoname + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);</code>

<code>            </code><code>Response.Write("&lt;?xml version=\"1.0\"?&gt;&lt;params&gt;&lt;title&gt;OK&lt;/title&gt;&lt;/params&gt;");</code>

<code>             </code><code>* */</code>

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2013/03/18/2966274.html,如需转载请自行联系原作者

继续阅读