我正在尝试使用 ASP.NET Core Web Api 上传文件。正如我发现的那样,这段代码:
namespace ModelBindingWebSite.Controllers
{
public class HomeController : Controller
{
private IHostingEnvironment _environment;
public HomeController(IHostingEnvironment environment)
{
_environment = environment;
}
public IActionResult Index()
{
return View();
}
[HttpPost]
public async Task<IActionResult> Index(ICollection<IFormFile> files)
{
var uploads = Path.Combine(_environment.WebRootPath, "uploads");
foreach (var file in files)
{
if (file.Length > 0)
{
var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
await file.SaveAsAsync(Path.Combine(uploads, fileName));
}
}
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误IFormFile不包含定义SaveAsASync并且没有扩展方法。任何想法?
因此,我按照教程使用 ASP.net 核心将文件“上传”到本地路径,这是代码:
public IActionResult About(IList<IFormFile> files)
{
foreach (var file in files)
{
var filename = ContentDispositionHeaderValue
.Parse(file.ContentDisposition)
.FileName
.Trim('"');
filename = hostingEnv.WebRootPath + $@"\{filename}";
using (FileStream fs = System.IO.File.Create(filename))
{
file.CopyTo(fs);
fs.Flush();
}
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
我想读取文件(文件元数据)的扩展属性,例如:
并使用这些数据对文件进行排序,有没有办法使用 Iformfile?