请求端:byte[] data = null;
            string inputString = string.Empty;
            Stream sm = null;
            using (MemoryStream ms=new MemoryStream())
            {
                Image image = Image.FromFile("d:\\我的配置\\桌面\\Lambda\\ConsoleApplication2\\ConsoleApplication2\\123.jpg");
                image.Save(ms,ImageFormat.Jpeg);
                data = ms.GetBuffer();
                inputString = System.Convert.ToBase64String(data);
                byte[] inputBytes = System.Convert.FromBase64String(inputString);
                MemoryStream stream = new MemoryStream(inputBytes);
                sm = stream;            }string URL = "http://172.16.18.129:1100/UploadPhotos.aspx";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);            byte[] hashsm = Convert.FromBase64String(inputString);
            MemoryStream newstream = new MemoryStream(hashsm);
            Stream newsm = newstream;
            byte[] filecontent = new byte[newsm.Length];
            newsm.Read(filecontent, 0, filecontent.Length);
            newsm.Close();
            newsm.Dispose();            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = filecontent.Length;            Stream requestStream = request.GetRequestStream();(这里会报一个此流不支持读取什么的)
            requestStream.Write(hashsm, 0, hashsm.Length);
            requestStream.Close();            //接收返回参数
            HttpWebResponse res = (HttpWebResponse)request.GetResponse();
            StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
            string result = sr.ReadToEnd();
            sr.Close();
            res.Close();
            Console.WriteLine(result);
接收端:protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Stream sm = Request.InputStream;
                Image image = Image.FromStream(sm);
                image.Save("E:\\111.jpg");
                Response.Clear();
                Response.Write("sucess");
                Response.End();
            }
            catch (Exception)
            {
                Response.Clear();
                Response.Write("error");
                Response.End();
            }
        }主要的一个功能是 把图片转化成流,然后把这个图片的流传到另一个网页的接口端,然后接收端来保存这个图片。
相当于一个图片上传的功能。请大佬们指错,或者有个案例给我研究一下也行

解决方案 »

  1.   

    参考一下       public static string JbrainZipBlh(string url, String parameter,ref string err)
           {   string boundaryValue = /*new String('-', 24) +*/ DateTime.Now.Ticks.ToString("x");
               string boundary = "--" + boundaryValue;
               Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);           
               Myrq.Method = "POST";//提交方式
               Myrq.KeepAlive = true;//保持连接
               Myrq.AllowAutoRedirect = true;//跟踪重定向           Myrq.Timeout = 5*60*1000;//5分钟
               Myrq.ContentType = "\r\nmultipart/form-data; boundary=" + boundaryValue;//内容类型
               StringBuilder builder = new StringBuilder();//文件类型头文件           builder.Append(boundary + "\r\nContent-Disposition: form-data; name=\"user_design_file\"; ");
               builder.Append("filename=\"xml");
               builder.Append("\"\r\nContent-Type: text/plain\r\n\r\n");
               string postHeader = builder.ToString();           byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);
               byte[] boundayBytes = Encoding.ASCII.GetBytes("\r\n" + boundary + "--\r\n");           Myrq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";//模拟浏览器类型数据           if (!SPara.cookieHeader.Equals(""))
               {
                   Myrq.Headers.Add("cookie:" + SPara.cookieHeader);
               }
               // 提交请求数据           
               byte[] postData = Encoding.GetEncoding("GBK").GetBytes(parameter);//生成提交数据的比特流
               byte[] postZip = Compress(postData);//压缩比特流           Myrq.ContentLength = postZip.Length + postHeaderBytes.Length + boundayBytes.Length;//计算上传数据的长度
               try
               {
                   System.IO.Stream outputStream = Myrq.GetRequestStream();
              
               outputStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
               outputStream.Write(postZip, 0, postZip.Length);
               outputStream.Write(boundayBytes, 0, boundayBytes.Length);
               outputStream.Close();
               }
               catch (WebException e)
               {
                   if (e.Message.Equals("无法连接到远程服务器"))
                   {
                       ComApp.Common.SysErr_Msg.Show_Msg("无法连接到服务器,程序将自动关闭");
                       System.Environment.Exit(0);
                       return "";
                   }
               }           Stream responseStream;
               StreamReader reader;
               string srcString;
               try
               {
                   myrp = Myrq.GetResponse() as HttpWebResponse;
               }
               catch (Exception e)
               {
                   ComApp.Common.SysErr_Msg.Show_Msg(e.Message+"。缺少某些服务,也可能是服务器被关闭,系统将自动关闭!");
                   isLogin = false;
                   System.Environment.Exit(0);
                   return "";
               }           responseStream = myrp.GetResponseStream();           
               //取出压缩流           MemoryStream stmMemory = new MemoryStream();
               byte[] buffer = new byte[64 * 1024];
               int i;
               while ((i = responseStream.Read(buffer, 0, buffer.Length)) > 0)
               {
                   stmMemory.Write(buffer, 0, i);
               }
               byte[] arraryByte = stmMemory.ToArray();
               
               if (arraryByte[0]!=120)
               {
                   //reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("GBK"));
                   //srcString = reader.ReadToEnd();
                   webErr we = new webErr();
                   we.webBrowser1.DocumentText = Encoding.GetEncoding("GBK").GetString(arraryByte);
                   we.ShowDialog();
                   err = we.webBrowser1.DocumentText;
                   return "BLHException";
               }
               stmMemory.Close();
               Stream stream = new MemoryStream(Uncompress(arraryByte));//解压
               reader = new System.IO.StreamReader(stream, Encoding.GetEncoding("GBK"));//取得返回的流
               srcString = reader.ReadToEnd();
               reader.Close();
               myrp.Close();
               responseStream.Close();
               return srcString;
           }
      

  2.   

    可以参考楼上的,post文件的写法和一般的写法不一样哦
      

  3.   

    http是请求回应的方式,你这是啥?
    请求方请求发送文件?你是要做文件上传还是啥?
    怎么看到Page_Load中写个保存文件我就瞬间不知道你到底要干啥了