C#远程发送和接收数据流生成图片的方法
作者:jwang 时间:2021-08-31 00:30:10
本文实例讲述了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, 0, 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#程序设计有所帮助。
标签:C#,数据流,图片
0
投稿
猜你喜欢
java并发编程专题(一)----线程基础知识
2021-10-30 00:28:42
深度解析Java中ArrayList的使用
2023-06-16 23:26:01
Android实现的数字格式化用法示例
2023-09-30 09:03:28
Java SpringBoot拦截器详解
2021-11-01 15:29:37
新手Hadoop安装 环境搭建
2022-12-15 05:34:02
WinForm实现鼠标拖动控件跟随效果
2021-12-16 01:31:23
详谈@Autowired和static的关系
2022-06-14 05:51:50
Android实现锁屏荧光效果
2023-09-02 03:12:03
Android蓝牙库FastBle的基础入门使用
2021-09-21 07:34:21
Android项目中gradle的执行流程
2022-04-08 19:08:15
Flutter 日历组件简单实现
2023-10-21 11:04:35
Struts2 文件上传进度条的实现实例代码
2023-04-20 11:13:59
java字符串比较获取字符串出现次数的示例
2022-03-22 16:05:39
Android学习之Broadcast的简单使用
2023-11-19 15:18:02
Android如何设置圆角图片
2021-12-06 23:35:31
springboot 自定义启动器的实现
2021-06-05 00:33:14
蓝牙原理Android代码实现
2023-07-10 20:25:31
SpringBoot上传文件并配置本地资源映射来访问文件的实例代码
2023-07-24 02:41:08
c#深拷贝文件夹示例
2023-07-24 07:50:40
java实现水果超市管理系统
2022-02-03 12:52:32