Возможности:
- Загрузить файл с веб-браузера или мобильного приложения
- Сохранить его на диске или в aws-like хранилище
- Подготовить миниатюры для изображений
- Создать в проекте модуль на основе пакета:
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 {}
- Сгенерировать и применить миграции:
yarn cli migrate:generate
yarn cli migrate
- Задать в .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 хранилища
nest-file's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.