AsyncFileUpload Control - PullRequest
       16

AsyncFileUpload Control

4 голосов
/ 13 октября 2009

Я использую новый элемент управления AsyncFileUpload из последней версии AjaxControl ToolKit. Мой запрос касается события OnClientUploadStarted, которое запускается до начала загрузки. Есть ли способ отменить загрузку, так как на этом этапе я проверяю fileExtension и хотел бы отменить загрузку, чтобы она не продолжалась и продолжалась загрузка файла. Мой конечный результат - разрешить загрузку только изображений. Пожалуйста, сообщите и спасибо за ваше время.

Ответы [ 3 ]

4 голосов
/ 14 октября 2009

Получил ответ, все, что мне нужно было сделать, это переопределить функцию 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);
    }
}
1 голос
/ 20 июня 2011

protected void AsyncFileUpload1_UploadedComplete (отправитель объекта, AjaxControlToolkit.AsyncFileUploadEventArgs e) { if (rdoFileType.SelectedValue == String.Empty) { lblStatus.Text = "Пожалуйста, выберите тип файла перед выбором файла."; AsyncFileUpload1.FailedValidation = true; e.state = AjaxControlToolkit.AsyncFileUploadState.Failed; вернуть; }

        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 голос
/ 13 октября 2009

Вы можете попробовать добавить в поле «Средство проверки регулярных выражений» и посмотреть, можете ли вы использовать его для проверки файла, выбранного перед началом загрузки.

...