简介:
由于访问量开始增大,服务器宽带不够用,将访问流量和文件流量都压在同一台服务器,每天都会死一次半次,需要用上CDN,所以文件都需要远程上传到文件服务器,在写上代码,和找了些文章来总结一下,主要使用:WebClient
- 简单版的WebClient,属于System.Net,属于操作比较简单的请求类,默认是少了head,timeout属性,可以继承HttpWebRequest来实现。
- 还有其他请求类库,如:HttpWebRequest,HttpClient; 代码实现时,定义了3种情况,但最终还是要用了base64传送:
- 1.由HttpContext.Current上传的请求资源;
- 2.访问网络资源链接;
- 3.Base64格式的资源上传;
代码实现:
//base64资源上传 public string ToServerBase(string postData) { var webclient = new WebClient(); webclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); //接受文件字符串 //postData是"data="+HttpUtility.UrlEncode(Convert.ToBase64String(bytes)); byte[] byteArray = Encoding.UTF8.GetBytes(postData); string url = "webapi远程接口"; //发送返回结果 byte[] buffer = webclient.UploadData(url, "POST", byteArray); return Encoding.UTF8.GetString(buffer); }
真的很简单,就用了UploadData像远程接口传送byte[]。
也可以换成HttpWebRequest,再GetRequest()到HttpWebResponse,返回Stream类型,上几篇有完整实例。
其实比较推荐是,用FromData来上传资源。
参考:https://www.cnblogs.com/MrZheng/p/11636254.html