Проверьте размер загруженного файла с помощью удаленного метода проверки формы jQuery. - PullRequest
2 голосов
/ 26 июля 2010

Я хотел бы сделать проверку размера файла следующим образом.Пожалуйста, посмотрите, имеет ли смысл этот метод предложения или нет.Эта часть сама по себе должна работать.

1> After the user selects a file, I check whether the file has suffix as png, gif etc.
$("#myform").validate({
 rules: {
   fieldForUpload: {
     required: true,
     accept: "png|gif"
   }
 }
});

2> Затем я хотел бы использовать метод aJax для загрузки файла на сервер для проверки еще до того, как пользователь нажмет кнопку отправки.http://docs.jquery.com/Plugins/Validation/Methods/remote#url

$("#myform").validate({
  rules: {
    fieldForUpload: {
      required: true,
      accept: "png|gif"
      remote: "check-filesize.php"
    }
  }
});

Вот мои вопросы:

1> Этот метод действителен?Другими словами, могу ли я проверить fieldUpload вместе с «accept» + «remote»?

2> Могу ли я принудительно сначала подтвердить «accept», а затем проверить «remote»?

3> Как реализовать этот «удаленный» метод?К вашему сведению: я знал, как проверить, существует ли электронная почта в БД с помощью удаленного доступа.Нужно ли мне получать какие-то разные знания, чтобы этого достичь?

Большое спасибо

Ответы [ 2 ]

5 голосов
/ 08 сентября 2011

Если вы хотите использовать jQuery validate, вы можете создать этот метод:

$.validator.addMethod('filesize', function(value, element, param) {
    // param = size (en bytes) 
    // element = element to validate (<input>)
    // value = value of the element (file name)
    return this.optional(element) || (element.files[0].size <= param) 
});

Вы бы использовали это:

$('#formid').validate({
    rules: { inputimage: { required: true, accept: "png|jpe?g|gif", filesize: 1048576  }
    messages: { inputimage: "File must be JPG, GIF or PNG, less than 1MB" }
});
1 голос
/ 26 июля 2010

Рассматривали ли вы использовать виджет загрузки файлов? Обычная проверка формы требует доступа к полям формы. В большинстве браузеров невозможно управлять полями ввода файлов.

Извлечение Plupload и SWFUpload , два виджета загрузки файлов на основе Flash, которые разрешают ограничения типа и размера файла без отправки файла на сервер.

Также есть Ajax Upload и Uploadify , два плагина jQuery, которые пытаются использовать современные функции браузера для того же. Старые браузеры могут иметь разный уровень поддержки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...