помогите мне понять следующий javascript относится к элементу управления AsyncFileUpload - PullRequest
3 голосов
/ 27 мая 2010

В моем текущем проекте я использовал элемент управления AsyncFileUpload из AJAX Control Toolkits. После того, как я получил работу по загрузке асинхронного файла, мне нужно было отфильтровать тип файла, чтобы пользователи могли загружать только файлы изображений. Я нашел следующий код вне сети, и он работал хорошо:

function uploadStarted(sender, args) {  
        var filename = args.get_fileName();  
        var filext = filename.substring(filename.lastIndexOf(".") + 1);  
        if (filext == "jpg" || filext == "jpeg" || filext == "gif" || filext == "bmp")      {
            return true;
        }
        else 
        {  
            // force uploading cancel  
            args.set_cancel(true);  
            // set reason of cancel  
            args.set_errorMessage("Invalid File Format Selected");  
            return false;  
        }  
    } 

Проблема в том, что я не понимаю этот JavaScript. Какой тип параметра args ? Где определены такие методы, как "get_fileName ()", "set_cancel ()"? Я перешел на домашнюю страницу элемента управления AsyncFileUpload , но не смог найти никаких документов, касающихся "аргументов".

Может ли кто-нибудь помочь мне объяснить этот Javascript? Спасибо

1 Ответ

2 голосов
/ 27 мая 2010

Я думаю, что могу ответить на свой вопрос

Первый параметр определяет объект, вызвавший событие, а второй - информацию о загружаемом файле. Фактически, он содержит пять полезных свойств, доступ к которым осуществляется с помощью синтаксиса get_abc (), показанного выше.

  • get_fileName () и get_path () оба возвращают имя загружаемого файла
  • get_length () возвращает размер файла в байтах после загрузки. Возвращает ноль до загрузки
  • get_contentType () возвращает MIME-тип файла после его загрузки. Возвращает ноль до загрузки
  • get_errorMessage () возвращает сообщение об ошибке, если оно появилось. В противном случае возвращает ноль

Подробнее см. В этой статье:

http://p2p.wrox.com/content/blogs/danm/enter-asyncfileupload-control

...