请求端: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();
}
}主要的一个功能是 把图片转化成流,然后把这个图片的流传到另一个网页的接口端,然后接收端来保存这个图片。
相当于一个图片上传的功能。请大佬们指错,或者有个案例给我研究一下也行
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();
}
}主要的一个功能是 把图片转化成流,然后把这个图片的流传到另一个网页的接口端,然后接收端来保存这个图片。
相当于一个图片上传的功能。请大佬们指错,或者有个案例给我研究一下也行
{ 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;
}
请求方请求发送文件?你是要做文件上传还是啥?
怎么看到Page_Load中写个保存文件我就瞬间不知道你到底要干啥了