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 ...
随机推荐
- Trapping Rain Water [LeetCode]
Problem Description: http://oj.leetcode.com/problems/trapping-rain-water/ Basic idea: Get the index ...
- 给文本标签UILabel添加长按复制功能
http://www.111cn.net/sj/iOS/104236.htm http://blog.csdn.net/lrenjun/article/details/12582927 自定义一个可复 ...
- addViewController之后view里面的点击事件不响应
let dealsSeeMoreViewController = DealsSeeMoreViewController(owner: self) self.dealsStackView.addArra ...
- listview加载性能优化ViewHolder
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局, 但当listview有大量的数据需要加载的时候 ...
- 51nod 1021 石子归并(dp)
51nod 1021 石子归并 题解:从i到j合并的最小值:dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + sum[j] - sum[i-1]); 最 ...
- uva 11624(bfs)
11624 - Fire! Time limit: 1.000 seconds Joe works in a maze. Unfortunately, portions of the maze hav ...
- JavaScript 事件委托的技术原理
如今的 JavaScript 技术界里最火热的一项技术应该是‘事件委托(event delegation)’了.使用事件委托技术能让你避免对特定的每个节点添加事件监听器:相反,事件监听器是被添加到它们 ...
- Windows获取文件大小
Windows最初的设计允许我们处理非常大的文件,所以最初的设计者选用64位值来表示文件大小.但是我们在日常处理过程中文件大小一般不会超过4GB.故Windows提供了两个联合类型的数据结构表示文件大 ...
- web开发-服务器Controller到前端中的数据传递
一, ajax方式 (一)controller中 1. 定义AjaxResponse类 成员有: status , message, data. 其中 status是成功或失败状态, message ...
- [示例]NSDictionary编程题-字典的排序应用(iOS5班)
代码? #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...