繁体   English   中英

如何在OnClientUploadStart内部取消ajaxToolkit:AjaxFileUpload?

[英]How can I cancel ajaxToolkit:AjaxFileUpload inside OnClientUploadStart?

用户单击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"/>  

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

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

取消下载大文件(仅适用于支持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" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM