所以我尝试在我的 mvc 核心中上传文件并且它有效,但是,有时正在上传的文件可能已损坏或大小为 0 字节。有没有人经历过这样的事情? 上传的初始文件大小一点也不大。
谢谢。
public IActionResult UploadCertificateFile(IFormFile UploadCertificate)
{
var parsedContentDisposition =
ContentDispositionHeaderValue.Parse(UploadCertificate.ContentDisposition);
var filename = Path.Combine(_hostingEnvironment.WebRootPath,
"Uploads", parsedContentDisposition.FileName.Trim('"'));
using (var stream = System.IO.File.OpenWrite(filename))
{
UploadCertificate.CopyToAsync(stream);
}
return RedirectToAction("Index");
}
最佳答案
我认为这里的问题是使用 CopyToAsync 而不是调用 await,我认为你应该使你的方法声明异步任务并在 UploadCertificate.CopyToAsync 行中调用 await,或者只使用 CopyTo(但 I/O 更好地实现它异步)
当你的线程被杀死时,文件可能没有被完全复制,所以这就是你的文件被破坏的原因。
关于c# - MVC ASP.NET CORE,上传文件有时上传的文件已损坏/大小为 0 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48457190/