如何在OnClientUploadStart中取消ajaxToolkit:AjaxFileUpload?

时间:2013-08-13 17:37:33

标签: c# asp.net ajaxcontroltoolkit

在用户单击ajaxfileupload控件的上传按钮后,我正在尝试对页面上的其他一些字段进行一些验证。 OnClientUploadStart定义为在上载开始之前触发。它的工作原理。但是如果验证失败,我想取消上传。 我试着做“返回假”;但那没用。 如何取消上传?

如果验证失败,那么我想取消

 function uploadStart(sender, args) {

            var FileDescription = document.getElementById("FileDescription").value;

            alert( FileDescription);
         return false;
         }  
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1"
    ThrobberID="myThrobber" OnUploadComplete="AjaxFileUpload1_UploadComplete"
    ContextKeys="" OnClientUploadError="uploadError" OnClientUploadComplete="uploadComplete" OnClientUploadStart="uploadStart" 
    AllowedFileTypes="jpg,jpeg,doc,xls"
    MaximumNumberOfFiles="1"
    runat="server"/>  

2 个答案:

答案 0 :(得分:1)

要手动开始上传,您可以使用以下脚本:

function startUpload(){
    $get("<%= AjaxFileUpload1.ClientID %>_UploadOrCancelButton").click();
}

答案 1 :(得分:1)

取消下载大文件(仅适用于支持HTML5的浏览器)。

    function uploadStartedAjax(sender, args) {
        var maxFileSize = $('#MaxRequestLength').val();
        for (var i = 0; i < sender._filesInQueue.length; i++) {
            var file_size = sender._filesInQueue[i]._fileSize;
            if (file_size > maxFileSize) {
                sender._filesInQueue[i].setStatus("cancelled", Sys.Extended.UI.Resources.AjaxFileUpload_Canceled+' - too large(> ' + maxFileSize + ' byte)!');
                sender._filesInQueue[i]._isUploaded = true;
            } //End if
        } //End for
        return true;
    }
    <ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" MaximumNumberOfFiles="200"  Width ="750px" 
                                OnClientUploadStart="uploadStartedAjax" />