在我的网络应用程序中,我允许用户上传视频和图片。我遇到了Maximum Size Exceeded错误并使用此Maximum Request Length Exceeded找到了修复
但我的问题是对于我的图像控制器,我希望将 4mb 限制保持为默认值。我只想将解决方案应用到视频控制器的链接中。这可能吗?还有一种方法可以在上传之前添加一个 ModelState 错误来检查文件大小吗?我的控制器动作看起来像
if (m.File == null)
{
ModelState.AddModelError("File", "You did not slect any file");
return View();
}
if (m.File.ContentLength > 0)
{
var fileName = System.IO.Path.GetFileName(m.File.FileName);
byte[] uploadedFile = new byte[m.File.InputStream.Length];
m.File.InputStream.Read(uploadedFile, 0, uploadedFile.Length);
// ..... Savefile and return
}
但是,在此操作中,我已经尝试过if (m.File.ContentLength > 4194304)
,它返回 false,直到将完整的文件上传到服务器上。所以我的第二个问题是如何在不上传的情况下检查服务器上的文件大小?