HttpClient 上传多个文件
            using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) {
                client.BaseAddress = new Uri("http://192.168.1.3:42561");
                string api = "api/upload/uploadpost";
                MultipartFormDataContent content = new MultipartFormDataContent();
                string path1 = @"H:\图片\1.jpg";
                string path2 = @"H:\图片\2.jpg";
                FileStream fs1 = new FileStream(path1, FileMode.Open, FileAccess.Read);
                FileStream fs2 = new FileStream(path2, FileMode.Open, FileAccess.Read);
                content.Add(new StreamContent(fs1), "myFile1", Guid.NewGuid() + ".jpg");
                content.Add(new StreamContent(fs2), "myFile2", Guid.NewGuid() + ".jpg"); 
                //还可以添加键值对参数,web api 可以通过 request.Form["id"] 接收
                content.Add(new StringContent(""), "id");
                content.Add(new StringContent("wjire"), "name");
                content.Add(new StringContent(""), "age");
                var result = client.PostAsync(api, content).Result;
                var str = result.Content.ReadAsStringAsync().Result;
                fs1.Dispose();
                fs2.Dispose();
                Console.WriteLine(str);
            }
后台接收:
        public async Task<HttpResponseMessage> UploadPost() {
            var request = HttpContext.Current.Request;
            var id = request.Form["id"];
            var name = request.Form["name"];
            var age = request.Form["age"];
            var files = HttpContext.Current.Request.Files;
            var path = HttpContext.Current.Server.MapPath("/img/");
            if (files.Count > ) {
                foreach (string file in files) {
                    var img = files[file];
                    if (img?.ContentLength > ) {
                        var fileName = img.FileName;
                        await Task.Run(() => img.SaveAs(path + fileName));
                    }
                }
                return new HttpResponseMessage(HttpStatusCode.OK)
                {
                     Content = new StringContent("成功@!!!!!")
                };
            } else {
                var stream = request.InputStream;
                if (stream.Length > ) {
                    var bytes = new byte[stream.Length];
                    stream.Read(bytes, , bytes.Length);
                }
            }
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "没有文件");
        }
HttpClient 上传多个文件的更多相关文章
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
		
简单的Demo,用于了解WebAPI如何同时接收文件及数据,同时提供HttpClient模拟如何同时上传文件和数据的Demo,下面是HttpClient上传的Demo界面 1.HttpClient部分 ...
 - HttpClient上传下载文件
		
HttpClient上传下载文件 java HttpClient Maven依赖 <dependency> <groupId>org.apache.httpcomponents ...
 - 论httpclient上传带参数【commons-httpclient和apache httpclient区别】
		
需要做一个httpclient上传,然后啪啪啪网上找资料 1.首先以前系统中用到的了commons-httpclient上传,找了资料后一顿乱改,然后测试 PostMethod filePost = ...
 - 强大的支持多文件上传的jQuery文件上传插件Uploadify
		
支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...
 - spring mvc文件上传(单个文件上传|多个文件上传)
		
单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包 1.所需jar包: commons-fileupload-1.3.1.jar ...
 - SecureCRT上传和下载文件
		
SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...
 - thinkphp如何一次性的上传多个文件,在文件域中可以多选?
		
可以做到类似于某度网盘的样式吗? 文件夹的命名, 可以用单数, 也可以用复数, 在同一个项目中, 只要统一就好了. 毕竟项目开发不同于英语写作. 建议使用缩写, 不管是不是缩写都用单数, 这样简洁,容 ...
 - Drupal8重命名上传的中文名文件
		
完整的模块代码文件在Coding.net上,想直接使用的请前往下载:https://coding.net/u/yamus/p/chinese_rename/git/tree/master 最近吧Dru ...
 - WordPress上传含有中文文件出现乱码
		
最近打算学习安装配置WordPress,当然同时也在学习PHP+MySQL,希望以后能做一些关于WordPress定制和二次开发,包括主题和插件.在成功安装WordPress3.5中文版之后,就测试了 ...
 
随机推荐
- 锐动视频SDK在金融业务加密双录管理系统通用解决方案
			
为了更好地保障消费者的合法权益,银监会和保监会提出了要求,在银行.保险从业人员销售理财产品或代理其他机构销售产品时,同期进行录音录像,确保销售人员按程序.按规定介绍产品,以便购买者更清楚地了解产品的性 ...
 - 如何使用Git以及GitHub
			
Git在程序的版本控制上有着极大的优势,下面是简单对其的简介 Git 的特点: 1 Snapshots, Not Differences 直接记录快照而非差异对比. 传统的版本控制系统(version ...
 - angular路由详解一(基础知识)
			
本人原来是iOS开发,没想到工作后,离iOS开发原来越远,走上了前端的坑.一路走来,也没有向别人一样遇到一个技术上的师傅,无奈只能一个人苦苦摸索.如今又开始填angular的坑了.闲话不扯了.(本人学 ...
 - eclipse中Maven项目pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver
			
eclipse中创建Maven项目时 pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver 解决方案1.在pom文件中加入mav ...
 - 很简单的Java断点续传实现原理
			
原理解析 在开发当中,"断点续传"这种功能很实用和常见,听上去也是比较有"逼格"的感觉.所以通常我们都有兴趣去研究研究这种功能是如何实现的? 以Java来说,网 ...
 - 用Node.js写爬虫,撸羞羞的图片
			
说到爬虫,很多人都认为是很高大上的东西.哇塞,是不是可以爬妹纸图啊,是不是可以爬小片片啊.答案就是对的.爬虫可以完成这些东西的操作.但是,作为一个正直的程序员,我们要在法律允许范围内用爬虫来为我们服务 ...
 - 仿QQ发语音、图片选择、表情选择demo
			
一款仿QQ发语音.图片选择.调用拍照.表情选择的demo git地址:https://github.com/PureLovePeter/pic.git. 喜欢的请 star star star,共 ...
 - WP Super Cache+七牛云配置CDN加速,让你的网站秒开
			
CDN加速网站是几乎所有的站长都在考虑的问题,CDN,全称是Content Delivery Network,即内容分发网络.所谓CDN加速,通俗的来说就是把原服务器上数据复制到其他服务器上,用户访问 ...
 - python作业03-文件操作&函数
			
一.文件处理相关 1.编码问题 (1)请说明python2 与python3中的默认编码是什么?答:Python2默认的字符编码是ASCII,默认的文件编码也是ASCII :python3默认的字符编 ...
 - 13.HashMap TreeMap HashTable LinkedHashMap 的区别
			
数据库基本连接equals和hashCode详解 http://www.cnblogs.com/XMMDMW/p/6502355.html