GETorPOST方式保存和获取图片信息
2015-01-27 14:00
316 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using ServiceStack.Text; namespace WeiXin.Core { public class TFSHelper { private const int TIME_OUT = 30000; public class ReponseInfo { public string TFS_FILE_NAME { get; set; } } /// <summary> /// 保存图片 /// </summary> /// <param name="url">请求的接口</param> /// <param name="data">字节数组形式的pic信息</param> /// <returns>图片文件名称</returns> public static string Save(string url, byte[] data) { string result = null; HttpWebRequest request = null; HttpWebResponse response = null; Stream writer = null; Stream reader = null; StreamReader sr = null; try { request = (HttpWebRequest)WebRequest.Create(url); request.Date = DateTime.Now; request.Timeout = TIME_OUT; request.Method = "POST"; using (writer = request.GetRequestStream()) { writer.Write(data, 0, data.Length); } } catch (Exception ex) { throw new Exception("TFS存文件发送请求失败,原因:" + ex.Message); } finally { if (writer != null) { writer.Close(); } } try { response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { using (reader = response.GetResponseStream()) { if (reader != null) sr = new StreamReader(reader, Encoding.GetEncoding("UTF-8")); if (sr != null) result = sr.ReadToEnd(); } } } catch (Exception ex) { throw new Exception("TFS存文件接收数据失败,原因:" + ex.Message); } finally { if (sr != null) { sr.Close(); } if (reader != null) { reader.Close(); } if (response != null) { response.Close(); } } if (!string.IsNullOrEmpty(result)) { result = result.FromJson<ReponseInfo>().TFS_FILE_NAME;//从响应的json字符串中获取到值 } return result; } /// <summary> /// 获取图片 /// </summary> /// <param name="url">请求的接口</param> /// <param name="imgName">图片名称</param> /// <returns>字节数组类型的pic信息</returns> public static byte[] Take(string url, string imgName) { HttpWebRequest request = null; HttpWebResponse response = null; Stream reader = null; url = url + "/" + imgName; try { request = (HttpWebRequest)WebRequest.Create(url); request.Date = DateTime.Now; request.Timeout = TIME_OUT; request.Method = "GET"; //using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) //{ // writer.Write(imgName); //} } catch (Exception ex) { throw new Exception("TFS取文件发送请求失败,原因:" + ex.Message); } try { response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { using (reader = response.GetResponseStream()) { MemoryStream ms = new MemoryStream(); reader.CopyTo(ms); return ms.ToArray(); } } } catch (Exception ex) { throw new Exception("TFS取文件接受数据失败,原因:" + ex.Message); } finally { if (reader != null) { reader.Close(); } if (response != null) { response.Close(); } } return null; } /// <summary> /// 删除tfs文件 /// </summary> /// <param name="url">请求的接口</param> /// <returns>删除是否成功</returns> public static bool Delete(string url) { bool result = false; HttpWebRequest request = null; HttpWebResponse response = null; try { request = WebRequest.Create(url) as HttpWebRequest; request.Date = DateTime.Now; request.Timeout = TIME_OUT; request.Method = "DELETE"; } catch (Exception ex) { throw new Exception("TFS删除文件发送请求失败,原因:" + ex.Message); } try { response = request.GetResponse() as HttpWebResponse; if (response.StatusCode == HttpStatusCode.OK) { result = true; } } catch (Exception ex) { throw new Exception("TFS删除文件接受数据失败,原因:" + ex.Message); } finally { if (response != null) { response.Close(); } } return result; } } }
相关文章推荐
- http协议get方式从服务器获取图片并保存到本地
- Volley的Get、Post方式(JsonObjectRequest、StringRequest)以及Volley获取图片的3种方式
- Android HttpURLConnection(Get,Post方式)进行网络通信 获取数据和网络图片
- Volley的Get、Post方式(JsonObjectRequest、StringRequest)以及Volley获取图片的3种方式
- 兼容 表单 get post方式 获取表单信息 键值对
- Android 使用三种方式获取网页(通过Post,Get进行表单的提交)
- asp.net post get 数据获取方式
- 在ASP.NET中获取参数POST和GET方式提交的参数
- PHP post 接口上传图片 [接收ios ||androip 两种接收图片数据流保存图片方式]
- Post/Get方式获取Web页面
- Android Post方式发送信息和获取URL中的图片
- Android仿人人客户端(v5.7.1)——通过HTTPS协议的POST方式获取用户的基本信息
- 在ASP.NET中获取参数POST和GET方式提交的参数
- 以最省内存的方式把大图片加载到内存及获取Exif信息和获取屏幕高度和宽度的新方法
- JAVA用http协议GET方法从服务器获取图片保存到本地
- 通过Http协议以Get和Post方式获取服务器端文本数据
- 在ASP.NET中获取Get方式和Post方式提交的数据
- J2ME HTTP方式与服务器交互信息:GET方式和POST方式
- Android 如何用HttpClient 以Get方式获取数据并添加http头信息
- Android平台向web应用get、post方式提交信息案例