首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AsyncFileUpload控件

AsyncFileUpload控件
EN

Stack Overflow用户
提问于 2009-10-13 13:04:15
回答 3查看 7.1K关注 0票数 4

我正在使用最新的AjaxControl ToolKit中的新AsyncFileUpload控件。我的问题是关于在开始上传之前触发的OnClientUploadStarted事件。有没有办法取消上传,因为我正在检查fileExtension,我想取消上传,这样它就不会继续上传文件了。我的最终结果是只允许上传图片。请多多指教,感谢您的宝贵时间。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-14 18:00:11

我得到了答案,我所要做的就是用这个脚本覆盖javascript函数(不是最好的答案,但很有效),你们都可以做得更快更干净

代码语言:javascript
复制
var orig = AjaxControlToolkit.AsyncFileUpload.prototype.raiseUploadStarted;
AjaxControlToolkit.AsyncFileUpload.prototype.raiseUploadStarted = function(e) {
var evt = this.get_events()._getEvent('uploadStarted');
if (evt) {
    if (evt.length > 1)
        return orig(e);
    else if (evt.length === 1)
        return evt[0](this, e);
    }
}
票数 4
EN

Stack Overflow用户

发布于 2009-10-13 13:30:24

您可以尝试向该字段添加"Regular Expression Validator“,并查看是否可以在上载开始之前使用它来验证选定的文件。

票数 1
EN

Stack Overflow用户

发布于 2011-06-21 00:51:55

尝试以下代码:

代码语言:javascript
复制
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
        {
            if (rdoFileType.SelectedValue == String.Empty)
            {
                lblStatus.Text = "Please select a file type before selecting a file.";
                AsyncFileUpload1.FailedValidation = true;
                e.state = AjaxControlToolkit.AsyncFileUploadState.Failed;
                return;
            }

            try
            {
                // System.Threading.Thread.Sleep(5000);
                if (AsyncFileUpload1.HasFile)
                {
                    string _filename = System.IO.Path.GetFileName(e.filename);


                    System.IO.FileInfo f = new System.IO.FileInfo(AsyncFileUpload1.PostedFile.FileName);

                    if (rdoFileType.SelectedValue == "F")
                    {
                        if (f.Extension != ".pdf")
                        {
                            lblStatus.Text = "Final Document must be a .pdf";
                            e.state = AjaxControlToolkit.AsyncFileUploadState.Failed;
                            e.statusMessage = "Final Document must be a .pdf";
                            throw new Exception("Final Document must be a .pdf");

                        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1560118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档