如何解决为什么模型验证在本地服务器和实时服务器上的工作方式不同?
我有一个具有简单表格的网站(基于Umbraco)。此表单包含一个文件上传字段。
我的模型具有以下属性:
[MaxFileSize(5242880,ErrorMessage = "File to big. Max: {0} bytes")]
public HttpPostedFileBase Upload1 { get; set; }
在我的控制器中,我有:
if (!ModelState.IsValid) {
Log(doLogging,"Invalid Form **************************");
if (model.Upload1 != null) Log(doLogging,"Attachment1: " + model.Upload1.FileName + ",(" + model.Upload1.ContentLength + ")");
return CurrentUmbracoPage();
}
当我在本地计算机上对此进行测试时,我上传了一个82kb的PDF文件,并且工作正常。 但是,当我在实时服务器上对此进行测试时,我的模型因以下错误而无效:
File to big. Max: 5242880 bytes
更奇怪的是,我的日志文件显示:
WebStart.Controllers.Tp1ContactFormController - Attachment1: Test.pdf,(83617)
这种怪异行为从何而来?它没有通过验证,但可以判断contentsize为83617字节。为什么这在本地工作,而不在服务器上工作?字节就是字节,对不对?我猜这里没有区域设置问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。