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 ...
随机推荐
- Redis(7)Creating and Using Cluster Mode
1. DocumentsCluster will not support SELECT, it only contains database 0.All the nodes use TCP bus a ...
- 转:Struts2<s:iterator value="" var="lst">中var的使用和一些标签的使用体会
比如<s:iterator value="pmOperateList" var="lst"> <!-- iterator加上var 等价于重新 ...
- bug数量问题研究
最近感觉很扯蛋的事情就是测试人员提bug的问题.先说下前提,公司测试会以提bug数量来做为一部分员工绩效的成份.再说一下公司从需求到开发 到测试,先是需求出一个文档,开发根据文档做功能的开发,然后测试 ...
- NABCD模型(猫咪记单词)
项目需求分析与建议-NABCD模型(猫咪记单词) N (Need 需求) 对于现在的学生,尤其是大学生来说,学习英语是一件非常重要的事.我们有四级六级托福雅思等各种各样的英语方面的考试.而学习英语 ...
- Angularjs学习——(一)
去年就接触过AngularJS吧,只可惜那时候仅仅是跟着“老大”机械的完成了“饿了么”——一个单页面的手机App,而其中的什么原理,怎样来实现,自己也是似懂非懂,直至今天自己再次拿起来它,并一个人来研 ...
- pycharm 导包
如果需要requests包,python没有自带.可以执行命令:pip install requests,自动安装导入.
- 快速将excel数据保存到Oracle数据库中【转】
我们在工作中,也许会碰到以下情况,客户或者同事发来需要调查的数据,并不是dmp文件,而是excel文件,此时通常是一张表,少量几条记录.最近我恰好碰到了这种情况,所以做了些调查,不敢藏私,拿出来跟大家 ...
- MongoDB replicaSet
MongoDB 的replication机制除了最普通的Master/Slave模式之外,更强大的就是其支持自动故障转移的Replica Sets模式了.相对于其问题多多的auto-sharding机 ...
- 如何删除href=""中的链接?
答案:在dw中操作,删除 HTML文件的href的链接地址\href="[^"]*"href="" 同理可以在title="[^" ...
- 一天完成把PC网站改为自适应!原来这么简单!
http://www.webkaka.com/blog/archives/how-to-modify-a-web-page-to-be-responsive.html 一天完成把PC网站改为自适应!原 ...