ASP.NET解析API參數的方式有很多種,包括[FromBody],[FromForm],[FromServices],[FromHeader][FromQuery].
文件傳輸方式也分很多種,包括
1) 前端讀取文件內容,將內容以text/xml/json/binary等形式傳輸。
2)前端不做任何處理,將文件放到Form中傳輸。
此處對Form傳輸文件進行介紹,可以將form看作是個多功能的詞典類型,value值可以是text,也可以是FormFile.
-
[
-
[
-
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;
-
}
可以將文件直接拷貝到其他文件,或者獲取文件內容解析校驗。