Возвращает правильное сообщение об ошибке в Kendo Upload, если файл слишком большой

Возникли проблемы с загрузкой Kendo. Когда размер файла меньше максимального размера, который составляет 15 МБ, все в порядке. Однако, если он превышает максимальный размер, он не переходит к действию «Загрузить», но все равно возвращает сообщение «Готово».

 @(Html.Kendo().Upload()
    .Name("files")
    .ShowFileList(false)
    .Async(a => a.Save("Upload", "Document", new {@id = Model.ChangeRequestId})
        .AutoUpload(true))
    .Events(e => e
        .Complete("refreshFileList"))
    )

Если бы он вступил в действие, я бы смог проверить размер файла и вернуть соответствующее сообщение. Кому-нибудь удалось успешно справиться с тем, что происходит с Kendo Upload, если файл слишком большой?

Спасибо


person e-on    schedule 21.10.2014    source источник


Ответы (1)


Почему бы вместо этого не выполнять проверку размера файла на стороне клиента?

Используйте событие upload, чтобы проверить размер и отобразить сообщение/прервать загрузку, если это необходимо.

.Events(e => e.Upload("onUpload"))
function onUpload(e) {
  var files = e.files;

  $.each(files, function () {
    if (this.size > 15*1024*1024) {
      alert(this.name + " is too big!");
      e.preventDefault(); // This cancels the upload for the file
    }
  });
}
person Alaa Masoud    schedule 21.10.2014
comment
Спасибо Алаа - это сделает работу - person e-on; 22.10.2014
comment
Почему бы не использовать .Validation(v => v.MaxFileSize(15*1024*1024)? - person Andrew; 03.04.2017