博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebApi FormData+文件长传 异步+同步实现
阅读量:6274 次
发布时间:2019-06-22

本文共 2188 字,大约阅读时间需要 7 分钟。

// POST api/values        public async Task Post()        {            try            {                // 检查该请求是否含有multipart/form-data                if (!Request.Content.IsMimeMultipartContent())                {                    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);                }                // 方法一                System.Web.HttpFileCollection file = System.Web.HttpContext.Current.Request.Files;                if (file.Count > 0)                {                    //文件名                      string name = file[0].FileName;                    //保存文件                      string path = HttpContext.Current.Server.MapPath("~/") + name;                    file[0].SaveAs(path);                }                Dictionary
dicFormData = new Dictionary
(); foreach (var key in System.Web.HttpContext.Current.Request.Form.AllKeys) { //接收FormData dicFormData.Add(key, System.Web.HttpContext.Current.Request.Form[key]); } // 方法二 Dictionary
dic = new Dictionary
(); string root = HttpContext.Current.Server.MapPath("~/App_Data");//指定要将文件存入的服务器物理位置 var provider = new MultipartFormDataStreamProvider(root); // Read the form data. await Request.Content.ReadAsMultipartAsync(provider); // This illustrates how to get the file names. foreach (MultipartFileData file1 in provider.FileData) {
//接收文件 Trace.WriteLine(file1.Headers.ContentDisposition.FileName);//获取上传文件实际的文件名 Trace.WriteLine("Server file path: " + file1.LocalFileName);//获取上传文件在服务上默认的文件名 } foreach (var key in provider.FormData.AllKeys) {
//接收FormData dic.Add(key, provider.FormData[key]); } } catch (Exception ex) { throw ex; } }

 

转载于:https://www.cnblogs.com/chuancheng/p/9807942.html

你可能感兴趣的文章
[vscode]快速更新package.json里的依赖版本
查看>>
Windows中MongoDB之简单安装(1)
查看>>
搭建Hexo博客进阶篇---主题自定义(三)
查看>>
【Mysql中间件】Mycat安装部署+读写分离
查看>>
这3家在线旅行公司是如何通过转化优化提高订单量的
查看>>
RocketMq使用过程的那些小事
查看>>
Autodesk Forge 学习简谈 - 4
查看>>
OWNER支持配置文件目录的继承
查看>>
Walls and Gates
查看>>
JavaScript 继承的那些事
查看>>
Scala中的函数式特性
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
试水区块链出版?纽约时报在招人了
查看>>
拥抱PostgreSQL,红帽再表态:SSPL的MongoDB坚决不用
查看>>
让架构更简单,QCon上海2016热点前瞻
查看>>
如何测试ASP.NET Core Web API
查看>>
SQL Server新一轮更新
查看>>
想像亚马逊或 Netflix 一样酷?抱走敏捷转型五大秘籍
查看>>
《Git in Practice》作者访谈:关于Git的八个问题
查看>>
Visual Studio 2019正式版发布,专注于人工智能和生产力
查看>>