如何限制用户通过 jquery 在 Telerik 上传中上传零大小的文件?

Posted

技术标签:

【中文标题】如何限制用户通过 jquery 在 Telerik 上传中上传零大小的文件?【英文标题】:how to restrict user to upload zero size file in telerik upload by jquery? 【发布时间】:2013-10-10 07:06:08 【问题描述】:

我正在使用 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 实现这一目标,或者如果有其他选项,请告诉我?

【问题讨论】:

我无法在 IE 中解决 【参考方案1】:

您可以使用 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(", ");
    

【讨论】:

我在 onUpload 函数中添加了一个警报,但它没有显示。表示 onUpload 函数没有调用。 试试这个telerik.com/help/aspnet-mvc/…

以上是关于如何限制用户通过 jquery 在 Telerik 上传中上传零大小的文件?的主要内容,如果未能解决你的问题,请参考以下文章

验证 RadDatePicker (Telerik Controls) 的日历控制

在 DotNetNuke 中使用 jQuery UI 日期选择器代替 Telerik RadCalendar

一旦选择了行,Telerik网格就会禁用onrowselected事件

ASP.NET MVC、Telerik Kendo、jQuery 验证中的非标准日期格式

使用 Javascript/jQuery 更改 Telerik RadEditor 的值

如何限制用户在点号后只能输入 5 或更大