Pages

2013-08-16

RadAsyncUpload的上傳檔案Size檢查

Telerik RadAsyncUpload控件要檢查上傳檔案Size,通常是使用其OnClientValidationFailed(sender, args)事件,當選取的檔案不符合副檔名或超過MaxFileSize時,就會觸發進入此Client事件。

function onClientValidationFailed(sender, args) {
if (sender.isExtensionValid(args.get_fileName())) {
alert("File size is exceeded!");
}
else {
alert("File type is different than allowed!")
}
}
要取出選取上傳檔案的副檔名,只需要對fileName做處理即可,但奇怪的就是,選取檔案的長度,此函式卻不提供! 官方說明指出控件實作上沒有此FileSize資訊,不過可以透過下面的JS語法取得html element內的值。
var jQueryRowObject = $telerik.$(args.get_row());
var fileSize = jQueryRowObject.find("input")[0].files[0].size;
既然能觸發Invalid事件,為何無法提供FileSize值呢?且不深究,能解決就好!

FileUpload Size

1 comment:

tomexou said...

此client size判斷語法,在IE7, IE8不支援,因此官方沒有寫入手冊。