时间:2021-05-20
本文实例讲述了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:///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#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#使用Socket实现发送和接收图片的方法。分享给大家供大家参考。具体如下:usingSystem;usingSystem.Collection
本文实例讲述了C#使用post发送和接收数据的方法。分享给大家供大家参考。具体实现方法如下:publicpartialclassPost_Server:Syst
本文实例讲述了C#远程获取图片文件流的方法。分享给大家供大家参考,具体如下:protectedvoidPage_Load(objectsender,EventA
下面的示例显示如何使用Socket类向HTTP服务器发送数据和接收响应。[C#]publicstringDoSocketGet(stringserver){//
C#实现与现有.NET事件桥接简单实例 Rx提供了工厂方法,以便与.NET中的现有异步源桥接,以便您可以使用由任何类型的数据流提供的丰富的组合,过滤和资源管理功