我試圖上傳一個使用ASP.NET核心Web Api的文件: 很多我發現這個代碼:文件上傳.NET Core'IFormFile'不包含'SaveAsASync'的定義,也沒有擴展方法
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();
}
}
我得到錯誤「IFormFile」沒有包含「SaveAsASync」的定義,也沒有擴展方法。 有什麼想法?
所以我應該用替換此:byte [] byteArray = Encoding.UTF8.GetBytes(uploads); MemoryStream stream = new MemoryStream(byteArray); await file.CopyToAsync(stream); –
是的 - 你自己的流,所以不要忘記處理它完成以及...用一個using()塊包裝新的內存... –