Asp.net-Core-Mvc

MVC 6 HttpPostedFileBase?

  • April 23, 2015

我正在嘗試使用上傳圖片MVC 6;但是,我找不到課程HttpPostedFileBase。我已經檢查GitHub並沒有任何運氣。有誰知道上傳文件的正確方法MVC6

MVC 6 使用了另一種機制來上傳文件。您可以在GitHub其他 來源獲得更多範例。只需IFormFile用作您的操作或文件集合的參數,或者IFormFileCollection如果您想同時上傳幾個文件:

public async Task<IActionResult> UploadSingle(IFormFile file)
{
   FileDetails fileDetails;
   using (var reader = new StreamReader(file.OpenReadStream()))
   {
       var fileContent = reader.ReadToEnd();
       var parsedContentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDisposition);
       var fileName = parsedContentDisposition.FileName;
   }
   ...
}

[HttpPost]
public async Task<IActionResult> UploadMultiple(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));
       }
       ...
   }
}

IFormFile您可以在asp.net 來源中查看目前合同。另請參閱ContentDispositionHeaderValue其他文件資訊。

引用自:https://stackoverflow.com/questions/29836342