调用方法

protected void btn_Click(object sender, EventArgs e){using (var client = new HttpClient())using (var content = new MultipartFormDataContent()){// Make sure to change API address  client.BaseAddress = new Uri("http://192.168.199.102:8027/");// Add first file content   var fileContent1 = new ByteArrayContent(File.ReadAllBytes(@"D:\文件上传\BIMAPI测试数据.txt"));fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"){FileName = "BIMAPI测试数据.txt"};// Add Second file content  var fileContent2 = new ByteArrayContent(File.ReadAllBytes(@"D:\文件上传\WebDeploy发布.png"));fileContent2.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"){FileName = "WebDeploy发布.png"};content.Add(fileContent1);content.Add(fileContent2);// Make a call to Web API  var result = client.PostAsync("/api/file/FilePost2", content).Result;txtResult.Text = result.StatusCode.ToString();//   Console.WriteLine(result.StatusCode);// Console.ReadLine();}}

后台接口

 #region 上传文件/// <summary>/// 上传文件/// </summary>/// <returns></returns>public async Task<HttpResponseMessage> FilePost2(){          //指定要将文件存入的服务器物理位置,如果路径不存在,创建路径if (!Directory.Exists(FileUrl)){Directory.CreateDirectory(FileUrl);}//检查请求中是否包含multipart/form-data,即文件上传请求if (!Request.Content.IsMimeMultipartContent()){throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);}//初始化MultipartFormDataStreamProvider实例CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(FileUrl);List<string> files = new List<string>();try{// 读取文件上传await Request.Content.ReadAsMultipartAsync(provider);//获取已上传的文件名foreach (MultipartFileData file in provider.FileData){//接收文件files.Add(Path.GetFileName(file.LocalFileName));}return Request.CreateResponse(HttpStatusCode.OK, files);}catch(Exception e){             return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);}        }#endregion//单独写个类public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider{public CustomMultipartFormDataStreamProvider(string path) : base(path) { }public override string GetLocalFileName(HttpContentHeaders headers){return headers.ContentDisposition.FileName.Replace("\"", string.Empty);}}

webapi上传示例及调用方式(netframwork)相关推荐

  1. jQuery AJAX 网页无刷新上传示例

    新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

  2. 微信小程序开发文档及文件上传示例(JAVA)

    微信小程序开发文档及文档上传示例 一.什么是微信小程序 小程序是一种无需下载安装,即可使用的手机应用.只需要扫描二维码,或是搜一搜,就能立即使用. 与APP不同的是,小程序无需下载安装.无需卸载.用完 ...

  3. vue获取上传图片的名字和路径_使用Vue实现图片上传的三种方式

    项目中需要上传图片可谓是经常遇到的需求,本文将介绍 3 种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来. 没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务 ...

  4. struts2登录注册示例_Struts 2文件上传示例

    struts2登录注册示例 Welcome to Struts 2 file upload example. File Upload is one of the common tasks of a w ...

  5. angular上传文件到本地服务器,Angular文件上传示例

    以下为Angular的文件上传示例,分为三个步骤. 步骤一.创建HTML模板 (file-upload.component.html) 简单的创建一个类型为file的input标签,input上添加c ...

  6. 原生态的ajax如何上传文件,原生ajax和iframe框架实现图片文件上传的两种方式

    大家应该可以举出几种常用的异步文件上传功能的实现方式,使用频率较多的有原生ajax和iframe框架,实现图片文件上传,下面就为大家分享图片文件上传的两种方式:原生ajax和iframe框架,供大家参 ...

  7. java如何处理csv文件上传_java处理csv文件上传示例

    前言:示例只是做了一个最最基础的上传csv的示例,如果要引用到代码中去,还需要根据自己的业务自行添加一些逻辑处理. ReadCsvUtil工具类 package com.hanfengyeqiao.g ...

  8. jsp servlet示例_Servlet和JSP中的文件上传示例

    jsp servlet示例 使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和 ...

  9. Servlet和JSP中的文件上传示例

    使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和HTTP协议中文件上传支持的 ...

  10. java上传csv错误信息_java处理csv文件上传示例详解

    前言:示例只是做了一个最最基础的上传csv的示例,如果要引用到代码中去,还需要根据自己的业务自行添加一些逻辑处理. ReadCsvUtil工具类 package com.hanfengyeqiao.g ...

最新文章

  1. Mac安装code blocks以及解无法打开的问题
  2. 【bzoj1486】【[HNOI2009]梦幻布丁】启发式链表合并(详解)
  3. linux下为php添加curl扩展的方法
  4. 二叉树层次遍历python_根据二叉树层序遍历顺序(数组),将其转换为二叉树(Python)...
  5. 分享个 之前写好的 android 文件流缓存类,专门处理 ArrayList、bean。
  6. C#正则表达式提取HTML中IMG标签中的SRC地址
  7. java中synized_ConcurrentHashMap和Collection s.SynizedMap(Map)
  8. You have tried to change the API from what has been previously approved
  9. 基于卷积神经网络模型的MSTAR高分辨率图像数据集识别实践
  10. 单内核OS与微内核OS结构比较
  11. 从「模拟」理解零知识证明:平行宇宙与时光倒流—— 探索零知识证明系列(二)
  12. libcurl基础教程及封装(支持同步异步请求,支持多线程下载,支持https)
  13. 常见搜索引擎蜘蛛大全
  14. 友盟分享长图片,如何截取长图片去分享
  15. 最适合学英语的50部动画电影(高清画质mkv,双语/双字幕可切换)
  16. Machine learning system design - Data for machine learning
  17. LeetCode1-580题汇总
  18. dz论坛修改html编辑器,discuz插件推荐:编辑器H5上传
  19. [转]OKR结合CFR的管理模式
  20. Apple Watch Series 8功能介绍 watch series 8续航

热门文章

  1. HDU 5512(博弈论)
  2. winpcap基本原理及常见应用_锁相放大器的基本原理(Part 1)
  3. list的一些常见用法总结(实用干货收藏)
  4. 44膜型键盘_小学四年级数学上册考试必考题型:判断题练习题
  5. c语言四个零,输入任意四个整数(0到10),运算符只有加减乘除,还有括号.每个数只能且必须用一次。要求判断这些表达的结果中是否有24。如果有,输出计算表达式:如输入4,6,1...
  6. 搜索引擎提交软件_网站如何被搜索引擎快速收录?
  7. centos是什么系统_解决更换操作系统后的开机问题
  8. java1.8 64位,jdk 1.8 64位 下载_jdk 1.8 64位 官方版_魅蓝下载
  9. 微服务网关Gateway在实战中如何结合注册中心,定义过滤器?
  10. typeof()用法及JS基本类型