0

我正在使用 Telerik 上传控件来上传文件。

@(Html.Telerik().Upload()
      .Name("fileUpload")
      .Multiple(false)
      .Async(async => async
      .AutoUpload(false))
      .ClientEvents(events => events))

我试过 OnSelect Function

function onSelect(e) {
    var files = e.files;
    if (files[0].rawFile.size <= 0) {
        alert("File Size Can't be zero.");
        e.preventDefault();
    }
}

它正在触发但在 Mozilla fir 中的 IE 中出现错误,因为它工作正常

Microsoft JScript 运行时错误:无法获取属性“大小”的值:对象为空或未定义

它正在上传文件,但问题是,它也接受零大小文件,我想验证它不应该接受零大小文件。有人请帮助我如何通过 jquery 实现这一目标,或者如果有其他选项,请告诉我?

4

1 回答 1

0

您可以使用 ClientSide 事件来检查文件和文件大小。

@(Html.Telerik().Upload()
    .Name("attachments")
    .Async(async => async
        .Save("Save", "Upload")
        .Remove("Remove", "Upload")
    )
    .ClientEvents(events => events
        .OnUpload("onUpload")
        )
     )
     function onUpload(e) {
          $console.log("Upload :: " + getFileInfo(e));
     }
     function getFileInfo(e) {
       return $.map(e.files, function(file) {
          var info = file.name;

          // File size is not available in all browsers
          if (file.size > 0) {
              info  += " (" + Math.ceil(file.size / 1024) + " KB)";
          }
          return info;
      }).join(", ");
    }
于 2013-10-10T07:19:47.180 回答