C#,将 HTTP 内容写入 FileStream 时出现问题,无法访问已关闭的文件

C# , Issue with writing HTTP content into FileStream, Cannot access a closed file

我正在尝试将 HTTP 内容写入 FileStream,但在我执行 await 的那一行收到错误消息“无法访问关闭文件”复制到异步(流)。如果我删除“await”,它将毫无例外地继续操作,但是写入的文件大小为0KB。知道我在哪里犯错了吗?

   var provider = new MultipartFormDataStreamProvider(tempdir);
     await Request.Content.ReadAsMultipartAsync(provider);
            foreach (var content in provider.Contents)
    {
         using (var stream = new FileStream(serverPath, FileMode.Create, FileAccess.ReadWrite))
                {
                    await content.CopyToAsync(stream);
                }
    }

我通过使用 FileData 属性 而不是 MultipartFormDataStreamProvider 中的内容解决了这个问题。

此外,我不再使用 CopyToAsync,而是使用普通的 File.Move,它非常适合我。

  var provider = new MultipartFormDataStreamProvider(tempdir);
  await Request.Content.ReadAsMultipartAsync(provider);
        foreach (var content in provider.FileData)
          {
                File.Move(content.LocalFileName, serverPath);
          }