1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/imlzw-xfile

Клонировать/Скачать
README.md 8.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 01:30 495b041

XFile

介绍

На основе интерфейса layui реализован компонент формы для загрузки файлов.

Особенности:

  1. Предварительный просмотр загружаемых файлов.
  2. Редактирование изображений с помощью функции обрезки.
  3. Отображение прогресса загрузки.

Демонстрационный адрес

https://imlzw.gitee.io/xfile

Компонент предварительного просмотра

Изображение предварительного просмотра Обрезка изображения

Инструкция по установке

  1. Скопируйте папку xFile в папку модулей layui (например, /lay/modules/).
  2. Замените модуль upload.js в библиотеке layui.

Изменения в модуле upload.js:

  • Добавлен обратный вызов прогресса загрузки, который возвращает индекс файла.
  • Добавлено событие choose, которое возвращает данные выбранных файлов.

Руководство по использованию

  1. Создайте базовый элемент формы:
<div class="layui-form-item">
    <label class="layui-form-label">Список вложений</label>
    <div class="layui-input-block">
        <input type="text" name="ar_files" id="ar_files" class="layui-input" >
    </div>
</div>
  1. Рендеринг компонента с использованием JavaScript:
layui.use(["xFile"],function(){
    let xFile = layui.xFile;
    xFile.render({
    	id: 'ar_files',
    	base: '/assets/layuiadmin/start/layui/lay/modules/xFile/',
    	url: '/file/upload',
    	cropImages: true,
    	accept: 'file',
    	multiple: true,
    	rewriteFormValue: function(values){
    		let value = []
    		if (values) {
    			values.forEach(function(val){
    				value.push(val.file_id);
    			})
    		}
    		return value.join(",");
    	},
    	initValues: initValues,
    });
});

Описание конфигурации

// Базовая конфигурация, основанная на конфигурации модуля upload библиотеки layui с некоторыми дополнениями
let defaultConfig = {
	id: undefined, // Идентификатор элемента рендеринга
	// base: "", // Путь к веб-адресу компонента xFile для доступа к другим js и css файлам, по умолчанию текущий путь
	url: undefined, // URL серверного интерфейса загрузки, формат возвращаемых данных см. ниже
	data: undefined, // Дополнительные параметры запроса к интерфейсу загрузки. Например: data: {id: 'xxx'}
	headers: undefined, // Заголовки запроса. Например: headers: {token: 'sasasas'} (добавлено в версии layui 2.2.6)
	// accept: 'images', // Разрешённые типы файлов при проверке во время загрузки, возможные значения: images (изображения), file (все файлы), video (видео), audio (аудио)
	// acceptMime: 'image/*', // Список MIME-типов файлов, которые будут отображаться при открытии окна выбора файлов. Например: acceptMime: 'image/jpg, image/png' (только jpg и png файлы) (добавлено в версии layui 2.2.6)
	// exts: imgExts,//'jpg|png|gif|bmp|jpeg', // Допустимые расширения файлов для загрузки. Обычно используется вместе с параметром accept. Если accept не задан, то ограничиваются только изображениями.
	auto: true, // Автозагрузка после выбора файлов. Если установлено значение false, необходимо настроить bindAction для отправки загрузки с другой кнопки.
	multiple: false, // Разрешить загрузку нескольких файлов. Установите значение true для включения. Не поддерживается в IE8/9. По умолчанию: false
	size: 0, // Максимальный размер файла для загрузки в килобайтах. Не поддерживается в IE8/9, 0 означает отсутствие ограничений
	field: 'file', // Имя поля файла
	bindAction: undefined, // Ссылка на кнопку, которая инициирует загрузку. Значение может быть селектором или объектом DOM. Например: bindAction: '#btn',string/object
	drag: true, // Разрешает перетаскивание файлов для загрузки, установите значение false для отключения. Не поддерживается в IE8/9
	choose: function (object) {
		return object;
	}, // Функция обратного вызова после выбора файла. Возвращает объект параметра. Подробнее ниже
	before: function (object) {
		return object;
	},  // Функция обратного вызова перед загрузкой файла. Возвращает объект параметра (тот же, что и выше). Подробнее ниже	function	-
	progress: function (res, index, upload) {
		return res;
	}, // Функция обратного вызова прогресса загрузки файла. Возвращает три параметра: res (ответ сервера), index (индекс текущего файла) и upload (метод повторной загрузки, обычно используется после неудачной загрузки). Подробнее ниже	function	-
	done: function (res, index, upload) {
		return res;
	}, //	Функция обратного вызова после успешной загрузки файла. Возвращает три параметра: res (ответ сервера), index (индекс текущего файла) и upload (повторная загрузка). Подробнее ниже	function	-
	error: function (index, upload) {
	}, //Функция обратного вызова при возникновении ошибки при загрузке файла (обычно это сетевые ошибки или 404 ошибки URL). Возвращает два параметра: index (индекс текущего файла) и upload (повторная загрузка). Подробнее ниже	function
	// rewriteFormValue: function(values){ return JSON.stringify(values) }, // Функция перезаписи значения формы по умолчанию
	number: 0, // Максимальное количество одновременно загружаемых файлов, обычно используется вместе с multiple. Обратите внимание: этот параметр добавлен в версии layui 2.2.3, number 0 (без ограничений)
	cropImages: false, // Обрезать изображение
	cropWidth: 180, // Ширина обрезки изображения
	cropHeight: 180 // Высота обрезки изображения
}

Формат данных

  1. Формат ответа на запрос загрузки:
{
    success: true,
    msg: '',
    data: {
        file_id: '10101010101', // Идентификатор файла
        file_name: '123.jpg', // Название файла
        file_suffix: 'jpg', // Расширение файла
        file_url: 'http://xxx.xxx.xxx/xxx/xxxxx', // Адрес предварительного просмотра файла     
    }
}
  1. Формат начальных значений: initValues
let initValues = [
    {
        file_id: '10101010101', // Идентификатор файла
        file_name: '123.jpg', // Название файла
        file_suffix: 'jpg', // Расширение файла
        file_url: 'http://xxx.xxx.xxx/xxx/xxxxx', // Адрес предварительного просмотра  
    },
    ...
]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/imlzw-xfile.git
git@api.gitlife.ru:oschina-mirror/imlzw-xfile.git
oschina-mirror
imlzw-xfile
imlzw-xfile
master