2013-10-10 127 views
0

我正在使用telerik上傳控件上傳文件。如何限制用戶上傳jQuery的telerik上傳零大小的文件?

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

我試圖ONSELECT功能

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

它射擊,但在Mozilla在IE中給了一個錯誤firfor其做工精細

微軟JScript運行時錯誤:無法獲得屬性的值「大小':對象爲空或未定義

它上傳文件,但問題是,它也接受零大小的文件,我想驗證它不應該接受零大小的文件。有人請幫助我如何通過jQuery來實現,或者如果有其他選擇,請讓我知道?

+0

我無法在IE中解決它 – Rocky

回答

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(", "); 
    } 
+0

我在onUpload函數中添加了一個警報,但它沒有顯示。 Means onUpload函數沒有調用。 – Rocky

+0

你可以分享你試過的代碼 – Ravi

+0

我已經添加了選擇功能,但我得到一個js錯誤 – Rocky

相關問題