【问题标题】:Wait till file is uploaded async to start next task等待文件异步上传以开始下一个任务
【发布时间】:2017-02-11 03:27:12
【问题描述】:

我需要在上传 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
} 

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

【问题讨论】:

  • 运气好吗?你解决了吗?

标签: asp.net file-upload async-await


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-04-08
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2014-09-06
    相关资源
    最近更新 更多