ASP.NET解析API参数的方式有很多种,包括[FromBody],[FromForm],[FromServices],[FromHeader][FromQuery].

文件传输方式也分很多种,包括

1) 前端读取文件内容,将内容以text/xml/json/binary等形式传输。

2)前端不做任何处理,将文件放到Form中传输。

此处对Form传输文件进行介绍,可以将form看作是个多功能的词典类型,value值可以是text,也可以是FormFile.

  1.  
    [HttpPost]
  2.  
    [Route("PostFile")]
  3.  
    public String PostFile([FromForm] IFormCollection formCollection)
  4.  
    {
  5.  
    String result = "Fail";
  6.  
    if (formCollection.ContainsKey("user"))
  7.  
    {
  8.  
    var user = formCollection["user"];
  9.  
    }
  10.  
    FormFileCollection fileCollection = (FormFileCollection)formCollection.Files;
  11.  
    foreach (IFormFile file in fileCollection)
  12.  
    {
  13.  
    StreamReader reader = new StreamReader(file.OpenReadStream());
  14.  
    String content = reader.ReadToEnd();
  15.  
    String name = file.FileName;
  16.  
    String filename = @"D:/Test/" + name;
  17.  
    if (System.IO.File.Exists(filename))
  18.  
    {
  19.  
    System.IO.File.Delete(filename);
  20.  
    }
  21.  
    using (FileStream fs = System.IO.File.Create(filename))
  22.  
    {
  23.  
    // 复制文件
  24.  
    file.CopyTo(fs);
  25.  
    // 清空缓冲区数据
  26.  
    fs.Flush();
  27.  
    }
  28.  
    result = "Success";
  29.  
    }
  30.  
    return result;
  31.  
    }

可以将文件直接拷贝到其他文件,或者获取文件内容解析校验。

最新文章

  1. 【Java并发编程实战】----- AQS(二):获取锁、释放锁
  2. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(3)
  3. h5视频上传之前端视频压缩研究
  4. lua 自己编译源文件
  5. 0422 Step2-FCFS调度
  6. document.documentElement.clientWidth
  7. Measuring the amount of writes in InnoDB redo logs
  8. 切换PS工具栏里的快捷键
  9. php中const定义常量
  10. poj 1088 滑雪(区间dp+记忆化搜索)
  11. 用nohup执行python程序时,print无法输出
  12. 我的第六个网页制作:table标签
  13. ECS云服务器配置数据库远程链接
  14. js一些常规操作
  15. [论文阅读]Object detection at 200 Frames Per Second
  16. mysql的SQL集锦
  17. Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历
  18. P1108 低价购买
  19. FastReport 打印模版页(TFrxReportpage)复制
  20. Team Viewer 远程链接一直显示-"正在初始化显示参数"

热门文章

  1. pytorch中网络特征图(feture map)、卷积核权重、卷积核最匹配样本、类别激活图(Class Activation Map/CAM)、网络结构的可视化方法
  2. Easyui动态添加控件无法渲染 $.parser.parse()无效
  3. JAVA基础(代码)练习题61~90
  4. 微信小程序云开发-数据库-获取用户添加的数据到数据库
  5. go反射原理
  6. python 连接远程服务器,修改时间
  7. 记一次Hvv中遇到的API接口泄露而引起的一系列漏洞
  8. g6踩坑
  9. Docker介绍及安装详解
  10. 「Leetcode-算法_Easy461」通过「简单」题目学习位运算