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

OSCHINA-MIRROR/suninformation-ymate-module-fileuploader

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

YMATE-MODULE-FILEUPLOADER

Maven Central status LICENSE

YMATE-MODULE-FILEUPOADER — это модуль, основанный на YMP-фреймворке, который предоставляет услуги по загрузке файлов и доступу к ресурсам.

Основные функции:

  • поддержка сопоставления отпечатков пальцев для быстрой загрузки;
  • поддержка сжатия изображений с различными пропорциями;
  • возможность обрезки видеофайлов;
  • фильтрация белого списка ContentType для загружаемых файлов;
  • конфигурация основного и резервного режимов нагрузки;
  • настройка содержания ответных сообщений;
  • расширение стратегии хранения файлов;
  • загрузка файлов с междоменным доступом и аутентификацией пользователей;
  • хранение файлов в MongoDB.

Зависимость от Maven-пакета

<dependency>
    <groupId>net.ymate.module</groupId>
    <artifactId>ymate-module-fileuploader</artifactId>
    <version>2.0.0</version>
</dependency>

Параметры конфигурации модуля

#-------------------------------------
# module.fileuploader 模块初始化参数
#-------------------------------------

# Идентификатор узла, значение по умолчанию: unknown
ymp.configs.module.fileuploader.node_id=

# Префикс имени кэша, значение по умолчанию: ""
ymp.configs.module.fileuploader.cache_name_prefix=

# Время ожидания данных в кэше, значение должно быть больше или равно 0, иначе будет использоваться значение по умолчанию
ymp.configs.module.fileuploader.cache_timeout=

# Базовый префикс запроса службы контроллера (не допускается начало и окончание с '/'), значение по умолчанию: ""
ymp.configs.module.fileuploader.service_prefix=

# Регистрация службы контроллера по умолчанию, значение по умолчанию: true
ymp.configs.module.fileuploader.service_enabled=

# Включить режим прокси, значение по умолчанию: false
ymp.configs.module.fileuploader.proxy_mode=

# Базовый URL-адрес службы прокси (должен начинаться с http:// или https:// и заканчиваться на '/', например: http://www.ymate.net/fileupload/, значение по умолчанию пусто)
ymp.configs.module.fileuploader.proxy_service_base_url=

# Ключ подписи параметров запроса между клиентом прокси и сервером, значение по умолчанию пустое
ymp.configs.module.fileuploader.proxy_service_auth_key=

# Корневой путь хранения загруженных файлов (в зависимости от реализации адаптера хранилища, значение по умолчанию: ${root}/upload_files)
ymp.configs.module.fileuploader.file_storage_path=

# Корневой путь для хранения миниатюр (значение по умолчанию совпадает со значением пути хранения файлов)
ymp.configs.module.fileuploader.thumb_storage_path=

# Базовый URL-адрес статических ресурсов (должен начинаться с http:// или https:// и заканчиваться на '/', например: http://www.ymate.net/static/resources/, значение по умолчанию пусто, что означает, что базовый URL-адрес не используется)
ymp.configs.module.fileuploader.resources_base_url=

# Реализация интерфейса адаптера хранилища файлов, если не предоставлена, используется системная реализация по умолчанию. Этот класс должен реализовывать интерфейс net.ymate.module.fileuploader.IFileStorageAdapter
ymp.configs.module.fileuploader.file_storage_adapter_class=

# Реализация обработчика изображений, если не предоставляется, используется система по умолчанию. Класс должен реализовать интерфейс net.ymate.module.fileuploader.IImageProcessor
ymp.configs.module.fileuploader.image_processor_class=

# Класс процессора ресурсов, используемый для обработки загруженных ресурсов, проверки доступа к ним и разрешения на доступ (если режим прокси не включён, этот параметр является обязательным). Класс должен реализовывать интерфейс net.ymate.module.fileuploader.IResourcesProcessor
ymp.configs.module.fileuploader.resources_processor_class=

# Автоматическое создание миниатюр после успешной загрузки файла, значение по умолчанию false
ymp.configs.module.fileuploader.thumb_create_on_uploaded=

# Разрешить настройку размера миниатюр, значение по умолчанию false
ymp.configs.module.fileuploader.allow_custom_thumb_size=

# Список размеров миниатюр (этот список действует только тогда, когда разрешено настраивать размер миниатюр), если список не пустой, то настраиваемый размер не может превышать этот диапазон, например: 600_480|1024_0 (0 означает пропорциональное уменьшение масштаба, 0_0 не поддерживается), значение по умолчанию пусто
ymp.configs.module.fileuploader.thumb_size_list=

# Качество миниатюр, например: 0.70f, значение по умолчанию 0f
ymp.configs.module.fileuploader.thumb_quality=

# Допустимые типы содержимого загружаемых файлов, например: image/png|image/jpeg, значение по умолчанию пусто, без ограничений
ymp.configs.module.fileuploader.allow_content_types=

Пример кода

Пример 1: Загрузить файл с помощью запроса POST по адресу URL:

http://localhost:8080/uploads/push

Параметры:

— file: поток данных загружаемого файла; — type: обработчик результатов запроса, если не указан, используется обработчик по умолчанию (можно выбрать fileupload).

Ответ:

  • Если параметр type не указан:
{
    "ret": 0,
    "data": {
        "createTime": 1638200758000,
        "extension": "mp4",
        "filename": "a1175d94f245b9a142955b42ac285dc2.mp4",
        "hash": "a1175d94f245b9a142955b42ac285dc2",
        "lastModifyTime": 1638200758000,
        "mimeType": "video/mp4",
        "size": 21672966,
        "sourcePath": "video/a1/17/a1175d94f245b9a142955b42ac285dc2.mp4",
        "status": 0,
        "type": "VIDEO",
        "url": "http://localhost:8080/uploads/resources/video/a1175d94f245b9a142955b42ac285dc2"
    }
}
  • Если указано type=fileupload:
{
    "files": [
        {
            "size": 21672966,
            "name": "a1175d94f245b9a142955b42ac285dc2.mp4",
            "type": "video",
            "hash": "a1175d94f245b9a142955b42ac285dc2",
            "thumbnailUrl": "http://localhost:8080/uploads/resources/video/a1175d94f245b9a142955b42ac285dc2"
        }
    ]
} **Пример 2:** сопоставление отпечатков файлов, запрос URL-адреса способом POST:

```shell
http://localhost:8080/uploads/match

Параметры:

— hash: отпечаток файла (MD5), обязательный параметр.

Ответ:

Если сопоставление прошло успешно, то возвращается информация об этом файле.

{
    "ret": 0,
    "matched": true,
    "data": {
        "createTime": 1638200758000,
        "extension": "mp4",
        "filename": "a1175d94f245b9a142955b42ac285dc2.mp4",
        "hash": "a1175d94f245b9a142955b42ac285dc2",
        "lastModifyTime": 1638200758000,
        "mimeType": "video/mp4",
        "size": 21672966,
        "sourcePath": "video/a1/17/a1175d94f245b9a142955b42ac285dc2.mp4",
        "status": 0,
        "type": "VIDEO",
        "url": "http://localhost:8080/uploads/resources/video/a1175d94f245b9a142955b42ac285dc2"
    }
}

Пример 3: доступ к ресурсам файлов, запрос URL-адреса способом GET:

http://localhost:8080/uploads/resources/{type}/{hash}

Параметры:

— type: тип файла, обязательный параметр, возможные значения: image, video, audio, text, application, thumb.

— hash: отпечаток файла (MD5), обязательный параметр.

Примечание: если необходимо принудительно загрузить ресурс через браузер, достаточно добавить ?attach в параметры запроса. Также поддерживается возможность задать собственное имя файла с помощью ?attach=<FILE_NAME>. Имя файла должно быть допустимым и не содержать специальных символов, иначе будет использоваться имя по умолчанию.

Ещё кое-что

YMP предлагает не только удобный опыт быстрой разработки веб-приложений и других Java-проектов, но и постоянно предоставляет богатый опыт реализации проектов.

Заинтересованные друзья могут присоединиться к официальной группе QQ: 480374360. Вместе мы можем общаться, учиться и помогать YMP расти!

Если вам нравится YMP, мы будем благодарны за вашу поддержку и поощрение!

Donation Code

Для получения дополнительной информации о фреймворке YMP посетите официальный сайт: https://ymate.net.

Комментарии ( 0 )

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

Введение

Модуль услуг по загрузке файлов и доступу к ресурсам, реализованный на основе фреймворка YMP. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/suninformation-ymate-module-fileuploader.git
git@api.gitlife.ru:oschina-mirror/suninformation-ymate-module-fileuploader.git
oschina-mirror
suninformation-ymate-module-fileuploader
suninformation-ymate-module-fileuploader
master