WebClient 数据传输
数据提交 post ,get
public string WebClientPost(string PostData, string PostUrl, string Type)
{
string postString = PostData;
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
string url = PostUrl;//地址
WebClient webClient = new WebClient();
byte[] responseData = null;
if (Type == "post")
{
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
}
else
{
responseData = webClient.UploadData(url, "GET", postData);//得到返回字符流
}
string srcString = Encoding.UTF8.GetString(responseData);//解码
return srcString;
}
文件解析
1转为JObject
string _Result = PostData(Appid, AppKey, imgSrc, "", "post");
JObject jsonData = JObject.Parse(_Result);
JArray jsonFace = jsonData.GetValue("face") as JArray;
if (jsonFace == null)
{
msg = "err" + "," + "格式不对";
}
else
{ int height = ;
int width = ;
int center_x = ;
int center_y = ;
string sex = "";
if (jsonFace != null && jsonFace.Count > )
{
height = int.Parse(jsonFace[]["position"]["height"].ToString());
width = int.Parse(jsonFace[]["position"]["width"].ToString());
center_x = int.Parse(jsonFace[]["position"]["center"]["x"].ToString());
center_y = int.Parse(jsonFace[]["position"]["center"]["y"].ToString());
sex = jsonFace[]["attribute"]["gender"].ToString();
}
}
2 Dictionary
Dictionary<string, object> objJson = JsonConvert.DeserializeObject<Dictionary<string, object>>(request);
string state = objJson["state"].ToString();
数据下载
string imgSrc = context.Request.Form["ImgUrl"].ToString(); //服务器连接 string FileDir = "/PublicResource/";
string AppName = System.Configuration.ConfigurationManager.AppSettings["AppName"]; if (!string.IsNullOrEmpty(AppName))
{
FileDir = "/PublicResource/" + AppName + "/";
}
Guid NewId = Guid.NewGuid();
WebClient wc = new WebClient();
string WXPath = context.Server.MapPath(FileDir + NewId.ToString() + ".jpg");
wc.DownloadFile(imgSrc, WXPath);
WebClient 数据传输的更多相关文章
- winform客户端利用webClient实现与Web服务端的数据传输
由于项目需要,最近研究了下WebClient的数据传输.关于WebClient介绍网上有很多详细介绍,大概就是利用WebClient可以实现对Internet资源的访问.无外乎客户端发送请求,服务端处 ...
- ABP(现代ASP.NET样板开发框架)系列之16、ABP应用层——数据传输对象(DTOs)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之16.ABP应用层——数据传输对象(DTOs) ABP是“ASP.NET Boilerplate Project ...
- 前端学HTTP之数据传输
× 目录 [1]客户机处理 [2]集线器处理 [3]路由器1处理[4]路由器2处理[5]交换机处理[6]服务器处理[7]反向传输 前面的话 上一篇中,介绍了网络基础.本文将详细介绍客户机在浏览网页ab ...
- Android GZIP压缩IO流,优化APP数据传输(一)
我是小搬运工,今天讲解流的压缩传输 在我们安卓开发中,通常伴随着大量的数据传输,在此,楼主给出一个简单的压缩流的数据进行操作. public void GZIPCpf(String path) { / ...
- 跨域请求——WebClient通过get和post请求api
AJAX不可以实现跨域请求,经过特殊处理才行.一般后台可以通过WebClient实现跨域请求~ //get 请求 string url = string.Format("htt ...
- C#通过WebClient/HttpWebRequest实现http的post/get方法
C#通过WebClient/HttpWebRequest实现http的post/get方法 http://www.cnblogs.com/shadowtale/p/3372735.html
- WebClient 实现多文件/文本同时上传
public class CreateBytes { Encoding encoding = Encoding.UTF8; /**/ /// <summary> /// 拼接所有的二进制数 ...
- ABP理论学习之数据传输对象(DTO)
返回总目录 本篇目录 为何需要DTO 领域层抽象 数据隐藏 序列化和懒加载问题 DTO惯例和验证 DTO和实体的自动映射 使用特性和扩展方法进行映射 帮助接口 DTO用于应用层和 展现层间的数据传输. ...
- 应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较
本文将介绍DDD分层架构中广泛使用的数据传输对象Dto,并且与领域实体Entity,查询实体QueryObject,视图实体ViewModel等几种实体进行比较. 领域实体为何不能一统江湖? 当你阅读 ...
随机推荐
- Android开发之MVP模式的使用
前几天发现,在Android项目代码里有一个Activity类行数居然有1000多行,而600行左右都是逻辑控制,真正和页面控件处理相关的代码不多,虽然可以用#region <>...#e ...
- tif文件导入postgresql
raster2pgsql -I -F -N -999 文件名 数据库名 | psql -U postgres -d postgres
- 解决CURL 请求本地超时
首先,这样的问题只会出现在Windows+Nginx中. php-cgi 默认使用的是9000端口,即使多个进程也并发的是9000端口 在用户访问一个php页面的时候nginx已将该进程占用,在该进程 ...
- js 处理字母 大小写的 一些函数
js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现大小 ...
- junit的学习
junit 是一种单元检测的工具包,他能解决的问题主要是有两点 : 1. 不用将方法都调到main方法去执行一次来看结果 2. 测试的结果可以不用我们人工去对比,这里主要使用的是junit的断言类 ...
- [vue案例的知识点]todo-list
文章的原材料来自于vue的官方示例:https://cn.vuejs.org/v2/examples/todomvc.html,我们在学习过程中,试着对其中的一些知识点进行记录: 一.浏览器数据存储, ...
- selenium使用Xpath定位之完整篇
其中有一片文章提到了xpath元素定位,但是该文章中有些并不能适应一些特殊与个性化的场景.在文本中提供xpath元素的定位终极篇,你一定能在这里找到你需要的解决办法. 第一种方法: 通过绝对路径做定位 ...
- ipad上自定义view的旋转适配
ios8横屏时宽高会自动转换,但是ios7不是 CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width; CGFloat scree ...
- ViewPager+Fragment取消预加载(延迟加载)(转)
原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...
- 微信禁用右上角的分享按钮,WeixinJSBridge API以及隐藏分享的子按钮等菜单项
<!--禁用微信分享按钮--> <script> function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu' ...