WebClient 数据传输
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = 0; int width = 0; int center_x = 0; int center_y = 0; string sex = ""; if (jsonFace != null && jsonFace.Count > 0) { height = int.Parse(jsonFace[0]["position"]["height"].ToString()); width = int.Parse(jsonFace[0]["position"]["width"].ToString()); center_x = int.Parse(jsonFace[0]["position"]["center"]["x"].ToString()); center_y = int.Parse(jsonFace[0]["position"]["center"]["y"].ToString()); sex = jsonFace[0]["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 数据传输的主要内容,如果未能解决你的问题,请参考以下文章
看代码网备份|利用WebClient|eKing.CmdDownLoadDbBakOper|实现定时拷贝数据库备份文件到文件服务器
将 WebClient 方法转换为 async / await
使用 WebClient 将输入单选类型的数据发布到特定 URL 的问题
c#利用WebClient和WebRequest获取网页源代码的比较