GETorPOST方式保存和获取图片信息
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 = ;
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, , 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;
}
}
}
GETorPOST方式保存和获取图片信息的更多相关文章
- ios中从相册:相机中获取图片信息
ios中从相册/相机中获取图片信息 从相册中获取图片的信息 UIImagePickerController *imgPickView = [[UIImagePickerController alloc ...
- Redis学习——Redis持久化之RDB备份方式保存数据
从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的 ...
- js获取图片信息(一)-----获取图片的原始尺寸
如何获取图片的原始尺寸大小? 如下,当给 img 设置一个固定的大小时,要怎样获取图片的原始尺寸呢? #oImg{ width: 100px; height: 100px; } <img src ...
- 【转】如何使用KeyChain保存和获取UDID
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...
- #使用parser获取图片信息,输出Python官网发布的会议时间、名称和地点。
# !/usr/bin/env/Python3 # - * - coding: utf-8 - * - from html.parser import HTMLParser import urllib ...
- Redis学习——Redis持久化之AOF备份方式保存数据
新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...
- 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly
spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...
- SENet(Squeeze-and-Excitation Networks)算法笔记---通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征
Momenta详解ImageNet 2017夺冠架构SENet 转自机器之心专栏 作者:胡杰 本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器 ...
- 如何使用KeyChain保存和获取UDID
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...
随机推荐
- SecureCRT中的ftp文件上传
原文地址:http://www.blogbus.com/jjuan-flake-logs/59745331.html SecureCRT与SshClient不同的就是,SecureCRT没有图形化的文 ...
- [转]Java 泛型: 什么是PECS(Producer Extends, Consumer Super)
以下内容转自: 原文链接: stackoverflow 翻译: ImportNew.com- 刘志军 译文链接: http://www.importnew.com/8966.html -------- ...
- JNI的一些知识:
JNI字段描述符"([Ljava/lang/String;)V" 2012-05-31 12:16:09| 分类: Android |举报|字号 订阅 "([Ljava/ ...
- 设置正确的post数据格式
之前一直使用苏飞的HttpHelper类来访问网络,用起来一直感觉很爽.使用其工具直接生成访问代码很是方便.直到昨天下午做到需要使用wpf来post两个字段数据到服务器,服务器使用ASP.NET MV ...
- 搞懂offsetY、offsetTop、scrollTop、offsetHeight、scrollHeight
先搞offsetTop,最难懂的就是它了 官方解释:返回当前元素的上边界到它的包含元素的上边界的偏移量,以像素为单位.这真TM坑爹啊!有木有!经过仔细研究查找得出结论:offsetTop是相对于离它最 ...
- HDU 3255 扫描线(立方体体积并变形)
Farming Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- HDU 3642 扫描线(立方体体积并)
Get The Treasury Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- UVa 11426 - GCD - Extreme (II)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- IP数据报的格式
1. IP数据报首部的固定部分中的各字段 ①版本:占4位,指IP协议的版本.通信双方使用的 IP协议版本必须一致.日前广泛使用的 IP协议版本号为 4 (即 IPv4). IPv6 目前还处于起步阶段 ...
- raspbian 静态IP
edit file: /etc/network/interfaces change line: iface eth0 inet dhcp iface eth0 inet static address ...