ChunkUploader: Загрузчик файлов

Компонент регистрирует новый тип поля "chunk_uploader" который позволяет загружать файлы больших размеров по частям, отображая ход загрузки.

Документация

Читать

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

Он реализован на базе библиотеки plupload которая предоставляет кросс-браузерный загрузчик файлов, позволяющий разбивать большие файлы на части и отправлять их на сервер.

При запуске эта библиотека проверяет возможности браузера и на их основе инициирует свой тип загрузчика, за счет чего и достигается кросс-браузерность.

Проверка осуществляется в следующем порядке: html5, flash, silverlight, html4.

Так же поле позволяет загружать файлы не имея итема записи, т.е если (за пример возьмем Nodus) данное поле добавить в список полей какого-либо термина, то при добавлении термина загрузка файлов будет доступна сразу, без необходимости вначале сохранить термин, а потом только загружать файлы. (для работы этой фичи необходимо обновить tao до 2.1.53)

Настройки компонента

Настроить компонент можно следующими способами:

  1. Отредактировав файл app/config/uploader.php в директории компонента: в этом случае задаются параметры по умолчанию для всех полей этого типа на сайте.
  2. При описании поля добавить эл-т с ключом uploader и в нем указать необходимые директивы - в этом случае можно настроить параметры для конкретного поля в отдельности.

Какие параметры можно указывать

  1. tmp_dir - адрес временного каталога куда будут сохраняться файлы, по умолчанию используется директория CMS::temp_dir() .'/plupload'. Так же при загрузке в этой директории для каждого пользователя (сессии) создаются свои подкаталоги. Это необходимо для того чтобы разделить файлы разных пользователей.
  2. cleanup - автом. очищение временной директории
  3. max_file_age - макс. возраст файлов (в секундах) во временной директории, по достижении которого они автоматически удаляются.
  4. allow_extensions - разрешенные типы файлов, массив ввида
	array(
		'Заголовок' => 'расширения через запятую',
		'Изображения' => 'jpg,jpeg,gif,png',
		'Архивы' => 'rar,zip,tar,gzip'
		...
	)
  1. max_file_size - макс. допустимый размер загружаемого файла в байтах. Так же можно использовать суффиксы b, kb, mb, gb, tb. По умолчанию не ограничивается
  2. chunk_size - размер одной порции файла который отсылается на сервер. По этому размеру файл делится на части. По умолчанию минимальное из директив php.ini upload_max_filesize и post_max_size
  3. max_retries - кол-во попыток отправки файла (или его части) в случае возникновения какой-либо сетевой ошибки
  4. multiple - возможность множественной загрузки
  5. auto_start - загружать файлы сразу после выбора, в противном случае после выбора файла появится еще кнопка "Загрузить"
  6. dragdrop - позволяет включить возможность перетаскивания файлов в окно браузера, будет работать если браузер поддерживает данную возможность.
  7. uploaded_filename - с помощью этого параметра можно указать callback функцию для конвертации имени загружаемого файла. На вход этой функции будет передан массив описывающий загруженный файл, аналогичный массиву из глобальной переменной $_FILES. По умолчанию имя файла обрабатывается следующим способом: пробелы заменяются на -, русские буквы транслитерируются и в случае совпадения имен загруженных файлов к имени добавляется числовой индекс
  8. upload_validate - callback для проверки валидности загруженного файла. На вход передаются 2 параметра: $file_array (см. выше) и $file_name новое имя файла под которым он будет сохранен на диске.
  9. resize - авто изменение размера изображения на стороне клиента
	...
	resize => array(
		// макс. ширина
		'width'   => 200,

		// макс. высота
		'height'  => 200,

		// качество
		'quality' => 90,

		// обрезать или масштабировать
		'crop'    => false,
	),
        ...

Все версии

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


Версия Дата
0.0.4 13.04.2015
0.0.3 08.08.2014
0.0.2 16.07.2014
0.0.1 03.07.2014