c#,写HTTP内容到FileStream的问题,不能访问一个关闭的文件
本文关键字:一个 文件 访问 问题 HTTP FileStream 不能 | 更新日期: 2023-09-27 17:53:33
我正试图将HTTP内容写入FileStream,并且我得到"无法访问关闭文件"的错误,在我做等待CopytoAsync(流)的行。如果我删除"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中的Content。
另外,我不再使用CopyToAsync,而是使用正常的文件。动一动,对我来说效果很好。
var provider = new MultipartFormDataStreamProvider(tempdir);
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var content in provider.FileData)
{
File.Move(content.LocalFileName, serverPath);
}