我目前正在MVC4中上传文件,但在我的控制器中,我试图将文件大小限制为最大4MB,但出现了以下警告:
与整数常量的比较是无用的
使用 Haacks的示例。
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
if (file.ContentLength < 4000000000 )
{
var fileName = System.IO.Path.GetFileName(file.FileName);
var path = System.IO.Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
当我运行代码时,我遇到了错误。
Maximum request length exceeded.
由于
file.ContentLength
是一个我无法控制的int
,我不知道如何解决这个问题。有人能帮我解决一下如何在服务器端限制文件大小吗?
编辑 对于那些想指出4000000000
是4GB
的人,你们是正确的。但即使我将其替换为4000000
,我的操作也会成功完成,但不会保存文件,因为我的If()
未满足,即file.ContentLength < 4000000
返回false。
编辑 这不是重复的问题,我想将文件大小限制为某个特定的限制,而不是忽略IIS中的文件大小限制。