Моя проблема заключается в том, что если я загружу файл более чем 4 mb исключение бросания «Максимальная длина запроса превышена».Максимальный атрибут проверки размера файла не работает в mvc 4
Мои требования таковы: Должен показать сообщение об ошибке проверки. Я не уверен, что я ошибаюсь. Пожалуйста, помогите мне некоторые один
Благодарности
public class FileSizeAttribute : ValidationAttribute
{
private long _maxSize;
/// <summary>
/// Default constructor. defines maximum size of the file.
/// </summary>
public FileSizeAttribute()
{
_maxSize = Convert.ToInt32(ConfigurationManager.AppSettings["FileSize"]);
}
/// <summary>
/// Override IsValid method to validate the decorated property
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public override bool IsValid(object value)
{
var file = value as HttpPostedFileBase;
if (file == null) return true;
return file.ContentLength <= _maxSize;
}
/// <summary>
/// Override format message method to return failure message.
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public override string FormatErrorMessage(string name)
{
return string.Format("The file size should not exceed {0} MB", Math.Ceiling((_maxSize/1024f)/1024f));
}
}
Модель недвижимости:
[FileSize]
[FileTypes]
public HttpPostedFileBase File
В Web Config файл
<httpRuntime maxRequestLength="10240" targetFramework="4.5" />
вы уверены, что 'Convert.ToInt32 (ConfigurationManager.AppSettings [ "FileSize"])' будет работать? – Manoj
У вас есть 'FileSize' в вашей конфигурации? т.е. ' ' –
Ric
yes Я уже добавил это в файл конфигурации – afzal