背景
最近在学习 ASP.Net Core 2.1 WebAPI, 在做一个基于 Xamarin.Forms 3.1 App和 WebAPI 后端的小项目,其中有个功能要从手机端选择多张图片并且上传到部署在Azure App Service上的WebAPI并把图片保存在wwwroot的Photos文件夹下。由于官方文档没有关于WebAPI文件上传的章节,因此参考了MVC版的File Uploads,用List<IFormFile>来做多图片上传的接收参数类型,碰到各种的问题,搜遍很多文章都没有找到满意的答案。后来反复查看官方文档关于ApiController的一篇文章中提到IFormFileCollection,才把上传功能解决。
第一次写博客,希望此文章能为各位热爱着.Net,热爱着ASP.Net Core的新手看官带来帮助~~
关于官方教程
目前来说没有看到关于ASP.Net Core 2.1 WebAPI 版本的专门关于File Uploads的教程,唯一可以找到的是MVC版的File Uploads。我们可以看到里面提到:
When uploading files using model binding and the IFormFile interface, the action method can accept either a single IFormFile or an IEnumerable<IFormFile> (or List<IFormFile>) representing several files. …
于是照着教程写了第一个版本的API以及一个用于测试文件上传的的MVC页面,具体见下文。
上传测试页面
<h1>Upload Files</h1>
<div class="row">
<section>
<form method="post" enctype="multipart/form-data"
action=