C#远程发送和接收数据流生成图片的方法
发布时间:2020-12-15 03:48:50 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#远程发送和接收数据流生成图片的方法。供大家参考研究。具体如下: 将图片转成数据流方式发送到远程服务,在通过服务器后台程序来接收数据流,再保存成图片存放在需要的地方。 这种方式就类似上传图片功能一样,希望能给一些大家另一
本篇章节讲解C#远程发送和接收数据流生成图片的方法。分享给大家供大家参考。具体如下: 将图片转成数据流方式发送到远程服务,在通过服务器后台程序来接收数据流,再保存成图片存放在需要的地方。 这种方式就类似上传图片功能一样,希望能给一些大家另一种上传图片功能的方法。 发送数据流方法 /// <summary> /// PostBinaryData /// </summary> /// <param name="url">要发送的 url 网址</param> /// <param name="bytes">要发送的数据流</param> /// <returns></returns> public string PostBinaryData(string url,byte[] bytes) { //下面是测试例子 //string url = "http://www.test.com/test.ashx"; //string img = HttpContext.Current.Server.MapPath("../images/test.jpg"); //byte[] bytes = File.ReadAllBytes(img); HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create(url); wRequest.ContentType = "multipart/form-data"; wRequest.ContentLength = bytes.Length; wRequest.Method = "POST"; Stream stream = wRequest.GetRequestStream(); stream.Write(bytes,bytes.Length); stream.Close(); HttpWebResponse wResponse = (HttpWebResponse)wRequest.GetResponse(); StreamReader sReader = new StreamReader(wResponse.GetResponseStream(),System.Text.Encoding.UTF8); string str = sReader.ReadToEnd(); sReader.Close(); wResponse.Close(); return str; } 接收数据流方法 public void GetBinaryData() { string imgFile = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg"; string filePath = HttpContext.Current.Server.MapPath(imgFile); //方法一 int lang = HttpContext.Current.Request.TotalBytes; byte[] bytes = HttpContext.Current.Request.BinaryRead(lang); string content = System.Text.Encoding.UTF8.GetString(bytes); FileStream fStream = new FileStream(filePath,FileMode.Create,FileAccess.Write); BinaryWriter bw = new BinaryWriter(fStream); bw.Write(bytes); bw.Close(); fStream.Close(); //方法二 Bitmap img = new Bitmap(HttpContext.Current.Request.InputStream); img.Save(filePath); HttpContext.Current.Response.Write("ok"); } 希望本文所述对大家的C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |