Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 等待文件以异步方式上载,以启动下一个任务_Asp.net_File Upload_Async Await - Fatal编程技术网

Asp.net 等待文件以异步方式上载,以启动下一个任务

Asp.net 等待文件以异步方式上载,以启动下一个任务,asp.net,file-upload,async-await,Asp.net,File Upload,Async Await,上传XML文件后,我需要处理它。在开始使用新方法处理文件之前,如何检查文件是否已完全上载 [HttpPost] public async Task<IActionResult> UploadFile(ICollection<IFormFile> files) { var uploads = Path.Combine(_environment.WebRootPath, "uploads"); foreach (var file in files) {

上传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
} 
[HttpPost]
公共异步任务上载文件(ICollection文件)
{
var uploads=Path.Combine(_environment.WebRootPath,“uploads”);
foreach(文件中的var文件)
{
如果(file.Length>0)
{
fileName=Path.GetFileName(file.fileName);
使用(var fileStream=newfilestream(Path.Combine(上传,文件名),FileMode.Create))
{
等待file.CopyToAsync(fileStream);
}
}
}
ProcessFile();
返回视图(“新项目”);
}
私有void进程文件()
{
//工作
} 

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

查看此链接。根据您的问题,您需要对文件内容进行长度检查,并且在读取所有内容后,执行等待呼叫。

幸运吗?你能解决它吗?