【.NET】使用WebClient简单的远程上传资源

简介:  

  由于访问量开始增大,服务器宽带不够用,将访问流量和文件流量都压在同一台服务器,每天都会死一次半次,需要用上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

原文地址:https://www.cnblogs.com/laokchen/p/12386833.html

时间: 2024-08-29 01:10:20

【.NET】使用WebClient简单的远程上传资源的相关文章

winform下通过webclient使用非流方式上传(post)数据和文件

这两天因为工作的需要,需要做一个winform上传数据到服务器端的程序.当时第一个想法是通过webservice的方式来实现,后来觉得麻 烦,想偷懒就没有用这样的方式,http的post方式变成了第一选择.因为以前用的都是httpwebrequest之类的东西进行post提 交,winform下面还真的是第一次,不过很快就在网上找到了webclient这个类,接下来开始实现功能,话说webclient用起来还真的很简 单,一个头信息的声明,然后是URL,最后是post的数据,就完事了.正在高兴的

jfinal初接触,一个简单的文件上传例子

写了个上传的小例子. 从jfinal官网下载jfinal-1.8_demo_for_jsp.zip 然后下载jfinal-1.8-lib.zip 按要求删掉该删除的,引入一些包,之后的项目结构: DemoConfig.java中配置路由,只留下了根路径: /** * 配置路由 */ public void configRoute(Routes me) { me.add("/", CommonController.class); //me.add("/blog", B

python写个简单的文件上传是有多难,要么那么复杂,要么各种,,,老子来写个简单的

def upload(url,params): ''' 上传文件到服务器,不适合大文件 @params url 你懂的 @params {"action":"xxx","@file","file_path"} 普通参数 key:value 文件key头部加@ ''' import os import urllib2 BOUNDARY = "0450de9528f040078csuxianbaozic06"

简单的FTP上传下载(java实现)

/** *阅读前请自己在win7上建立FTP主机 *具体步骤如:http://jingyan.baidu.com/article/574c5219d466c36c8d9dc138.html * 然后将以下FTP,username,password分别改成你的FTP ip地址 用户名 密码即可 * 本例子用了apche的commons-net-3.3.jar以方便FTP的访问 请手动buid -path * 待完成版 刷新按钮 登录 都还没有做 而且上传 下载 完成后都需要重新运行 * 2014-

基于Java的一个简单的文件上传下载功能

最近在公司给客户端做接口,有一个图片上传和文件下载的功能,本来想用Struts来做文件上传下载,但是看了下公司好像没有这个配置,然后看了下同事的代码,才发现原来Apache也可以简单的实现文件上传下载. 首先引入commons-io-2.2.jar FileUtils为我们提供了很多对文件的操作的方法,比如上传整个文件夹的文件.上传单个文件等 然后请看代码下载: public static void uploadFile(String targetDirectory,String targetF

超简单的php上传类代码

这个是我昨晚写的一个超简单的上传类,只要 $up->upload($_FILES['imgfile']); 即可. 一条语句搞定上传 石家庄工商代办送给所有草根的个人站长 上传文件: up.php <?php //验证 if(empty($_COOKIE['login'])) { die('index'); } //加载类 include_once("_inc/class_uppic.php"); //上传 if(!empty($_GET['action']) &&

使用jsp/servlet简单实现文件上传与下载

使用JSP/Servlet简单实现文件上传与下载 通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用jsp与servlet实现文件上传与下载. 在写代码之前,我们需要导入两个额外的jar包,一个是common-io-2.2.jar,另一个是commons-fileupload-1.3.1.jar,将这个两个jar 包导入WEB-INF/lib目录里. 首先,想要在web端即网页上实现文件上传,必须要提供

CentOs远程上传与下载

一.服务器端软件: 命令:yum  install  lrzsz 二.客户端软件(windows xp): Securecrt(破解版) 三.客户端操作: 1.初始页面 点击链接: 2.选择sftp 在”文件”——>“链接SFTP标签页(S)”如下图所示: 3.操作命令信息 首先可以查询该FTP给我们提供了那些基本命令,就输入:help命令,就帮我们显示 该FTP提供所有的命令 pwd:  查询linux主机所在目录(也就是远程主机目录) lpwd: 查询本地目录(一般指windows上传文件的

利用Socketserver实现简单的文件上传

利用Socketserver实现简单的文件上传 server.py #!/usr/bin/env python #coding:utf-8 import SocketServer import os class MyServer(SocketServer.BaseRequestHandler):     def handle(self):         base_path = 'C:/temp'         conn = self.request                 print