2017-02-10 100 views
-1

我需要处理一个XML文件上传。在启动新方法对文件执行操作之前,如何检查文件是否已完全上传?等待文件上传异步开始下一个任务

[HttpPost] 
public async Task<IActionResult> UploadFile(ICollection<IFormFile> files) 
{ 
    var uploads = Path.Combine(_environment.WebRootPath, "uploads"); 
    foreach (var file in files) 
    { 
     if (file.Length > 0) 
     { 
      fileName = Path.GetFileName(file.FileName); 

      using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) 
      { 
       await file.CopyToAsync(fileStream); 
      } 
     } 
    } 
    ProcessFile(); 
    return View("NewProject"); 
} 

private void ProcessFile() 
{ 
    //Do WORK 
} 

现在它开始处理文件,而它仍然在上传。如何等待上传完成并在处理文件之前检查文件是否已上传?

+0

运气好吗?你能解决它吗? – Sameer

回答

0

看看这个链接FileStream Reading。根据您的问题,您需要对文件的内容进行长度检查,并在读取所有内容时,执行await呼叫。