ASP.NET Core Web API接收文件传输
程序员文章站
2022-03-10 22:50:39
...
ASP.NET解析API参数的方式有很多种,包括[FromBody],[FromForm],[FromServices],[FromHeader][FromQuery].
文件传输方式也分很多种,包括
1) 前端读取文件内容,将内容以text/xml/json/binary等形式传输。
2)前端不做任何处理,将文件放到Form中传输。
此处对Form传输文件进行介绍,可以将form看作是个多功能的词典类型,value值可以是text,也可以是FormFile.
[HttpPost]
[Route("PostFile")]
public String PostFile([FromForm] IFormCollection formCollection)
{
String result = "Fail";
if (formCollection.ContainsKey("user"))
{
var user = formCollection["user"];
}
FormFileCollection fileCollection = (FormFileCollection)formCollection.Files;
foreach (IFormFile file in fileCollection)
{
StreamReader reader = new StreamReader(file.OpenReadStream());
String content = reader.ReadToEnd();
String name = file.FileName;
String filename = @"D:/Test/" + name;
if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);
}
using (FileStream fs = System.IO.File.Create(filename))
{
// 复制文件
file.CopyTo(fs);
// 清空缓冲区数据
fs.Flush();
}
result = "Success";
}
return result;
}
可以将文件直接拷贝到其他文件,或者获取文件内容解析校验。
推荐阅读
-
ASP.NET Core Web API 教程Project Configuration
-
创建一个完整的ASP.NET Web API项目
-
ASP.NET Web API如何将注释自动生成帮助文档
-
ASP.NET中Web API的简单实例
-
创建一个完整的ASP.NET Web API项目
-
ASP.NET中Web API的简单实例
-
支持Ajax跨域访问ASP.NET Web Api 2(Cors)的示例教程
-
ASP.NET Core MVC/API(一)
-
支持Ajax跨域访问ASP.NET Web Api 2(Cors)的示例教程
-
ASP.NET Web Api 2实现多文件打包并下载文件的实例