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 = 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;
        }
    }
}
时间: 2024-10-08 18:44:01

GETorPOST方式保存和获取图片信息的相关文章

客户端表单提交数据方式与服务器获取数据

表单提交数据的两种方式 表单form的提交有两种方式,一种是get的方法,通过超级链接后面的参数提交过来,一种是post ,通过Form表单提交过来. post方式: <form id="form1" name="form1" method="post" action="login.aspx"> <table width="501" border="0" align=&

017_02获取图片信息

Exif的全称是Exchangeable Image File(可交换图像文件),最初由日本电子工业发展协会制订,它是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图.简单来说,EXIF 信息就是由数码相机在拍摄过程中采集一系列的拍摄参数,然后把信息放置在JPEG格式文件的头部,这其主要包括摄影时的光圈.快门.曝光补偿.闪光灯.ISO感光度.日期时间等各种信息,此外像相机品牌型号.色彩编码.后期使用过什么软件进行处理都被记录在Exif信息中. Androi

将图片以字符串方式保存

将图片转换成字符 delphi的*.dfm文件 mht的文件 //------------------------------------------------------------------------------ //jpg转换为 txt字符串 //JpegToText('C:\1.jpg', 'C:\1.txt');function JpegToText(jpgFileName: string; TxtFileName: string): string; var   FileStre

iOS开发——使用技术OC篇&amp;保存(获取)图片到(自定义)相册

保存(获取)图片到(自定义)相册 最近在学 iOS相关技术(绘图篇实现画板功能)的时候设计到了两个常用的知识点,那就是保存图片到相册和葱相册中获取图片. 只是个人比较好奇拓展一些技术,说的难听点叫做装牛角尖,好听点就是为了装逼而已,所以在保存相册的时候使用真及测试发现不能保存到我iPhone里 main的自定义相册里面,就查看文档和资料,也借鉴别人的分享实现了想要的功能,就把他给记录下来,这个虽然没有直接保存和获取常用但是也是一项很好的实用技术. 一:首先来看看怎么获取相册的图片: 1 // 弹

http://photo-sync.herokuapp.com/photos获取图片信息

http://photo-sync.herokuapp.com/photos获取图片信息 最开始想的是用jquery ajax实现,用的传统的方法总是readystatus 等等都返回0 ,, 百度怎么都不行,,,好吧,现在这么搞可以,之前不知道, 现在mark一下 $.ajax({ url: "http://photo-sync.herokuapp.com/photos", }).done(function ( data ) { for(var i=0;i<10;i++) {

字符串保存和获取

有时候,需要在手机里储存一些东西,比如说在APP使用的时候保存账号和密码什么的 需要写几个实例方法 在.h文件中写上方法名 + (void) saveCenterProValue:(NSString*)valueStr key:(NSString *)keyStr; + (id)getCenterPro:(NSString*)identifier; 在.m文件中加上实现方法 ps:写在单例中更好 + (void) saveCenterProValue:(NSString*)valueStr ke

使用图片跨域方式获取图片数据 使用 jsonp 方式跨域获取数据

使用图片跨域方式获取图片数据 server.get(`/mockImg`, (req, res, next) => { // 使用图片跨域方式获取图片数据 req.headers.origin && res.setHeader(`Access-Control-Allow-Origin`, req.headers.origin) res.setHeader(`content-type`, `image/gif`) res.setHeader(`data`, `image/gif`) v

png的故事:获取图片信息和像素内容

前言 现在时富媒体时代,图片的重要性对于数十亿互联网用户来说不言而喻,图片本身就是像素点阵的合集,但是为了如何更快更好的存储图片而诞生了各种各样的图片格式:jpeg.png.gif.webp等,而这次我们要拿来开刀的,就是png. 简介 首先,png是什么鬼?我们来看看wiki上的一句话简介: Portable Network Graphics (PNG) is a raster graphics file format that supports lossless data compressi

Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息

一.猜想数据存放路径 微信现在是老少皆宜,大街小巷都在使用,已经替代了传统的短信聊天方式了,只要涉及到聊天就肯定有隐私消息,那么本文就来讲解如何获取微信的聊天记录以及通讯录信息. 首先我们在没有网络的时候,打开微信同样可以查看聊天记录,说明微信会把聊天记录保存到本地,那么这么多信息肯定会保存在数据库中,所以我们可以去查看微信的databases目录看看内容: 可惜的是,我们在这个里面并没有发现一些有用的数据,所以这时候就了解到了微信因为把重要信息的数据库存在其他目录下面,我们可以直接把微信的整个