0.2.6 • Published 4 months ago

@steroidsjs/nest-file v0.2.6

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

Микросервис загрузки файлов

Возможности:

  1. Загрузить файл с веб-браузера или мобильного приложения
  2. Сохранить его на диске или в aws-like хранилище
  3. Подготовить миниатюры для изображений

Подключение

  1. Создать в проекте модуль на основе пакета:
import {Module} from '@steroidsjs/nest/infrastructure/decorators/Module';
import coreModule from '@steroidsjs/nest-file';
import {IFileModuleConfig} from '@steroidsjs/nest-file/infrastructure/config';
import {ModuleHelper} from '@steroidsjs/nest/infrastructure/helpers/ModuleHelper';

@Module({
    ...coreModule,
    tables: [
        ...coreModule.tables,
        ...ModuleHelper.importDir(__dirname + '/tables'),
    ],
    module: (config: IFileModuleConfig) => {
        const module = coreModule.module(config);
        return {
            ...module,
            providers: [
                ...module.providers,
            ],
            controllers: [
                ...module.controllers,
            ],
            exports: [
                ...module.exports,
            ],
        };
    },
})
export class FileModule {}
  1. Сгенерировать и применить миграции:
yarn cli migrate:generate
yarn cli migrate
  1. Задать в .env файле проекта нужную конфигурацию:
APP_FILE_STORAGE_NAME=minio_s3
APP_FILE_STORAGE_S3_HOST=s3.yandexcloud.net
APP_FILE_STORAGE_S3_ACCESS=xxx
APP_FILE_STORAGE_S3_SECRET=yyy
APP_FILE_STORAGE_S3_MAIN_BUCKET=arm-supervisor
APP_FILE_STORAGE_S3_PORT=443
APP_FILE_STORAGE_S3_USE_SSL=1
APP_FILE_STORAGE_S3_ROOT_URL=https://storage.yandexcloud.net/arm-supervisor

Описание переменных:

  • APP_FILE_STORAGE_NAME - тип используемого хранилища по-умолчанию (minio_s3 или local, из словаря FileStorageEnum)
  • APP_FILE_STORAGE_ROOT_PATH - место хранения файлов при использовании хранилища local (по-умолчанию join(process.cwd(), '../files/uploaded'))
  • APP_FILE_STORAGE_ROOT_URL - URL-префикс для ссылок на файлы (по-умолчанию /files/uploaded)
  • APP_FILE_MAX_SIZE_MB - максимальный размер файла в мегабайтах
  • APP_FILE_PREVIEW_THUMBNAIL_WIDTH - Ширина генеририуемых превью
  • APP_FILE_PREVIEW_THUMBNAIL_HEIGHT - Высота генеририуемых превью
  • APP_FILE_STORAGE_S3_HOST - Хост S3 хранилища
  • APP_FILE_STORAGE_S3_ACCESS - Публичный ключ S3 хранилища
  • APP_FILE_STORAGE_S3_SECRET - Секретный ключ S3 хранилища
  • APP_FILE_STORAGE_S3_MAIN_BUCKET - название бакета S3 хранилища
  • APP_FILE_STORAGE_S3_PORT - порт S3 хранилища
  • APP_FILE_STORAGE_S3_USE_SSL - использовать SSL для подключения
  • APP_FILE_STORAGE_S3_ROOT_URL - адрес S3 хранилища, включая бакет
  • APP_FILE_STORAGE_S3_REGION - регион S3 хранилища
0.2.6

4 months ago

0.2.3

7 months ago

0.2.5

4 months ago

0.2.4

4 months ago

0.2.1

11 months ago

0.2.0

1 year ago

0.2.2

11 months ago

0.1.2

1 year ago

0.1.1

2 years ago

0.0.20

2 years ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

2 years ago

0.0.24

2 years ago

0.0.25

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.1.0

2 years ago

0.0.26

2 years ago

0.0.27

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.9

2 years ago

0.0.7

2 years ago

0.0.5

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago