nestjs-file-streaming
nestjs-file-streaming copied to clipboard
NestJS File Streaming With MongoDB
NestJS File Streaming
Features
- Efficient upload / download
- Very low RAM usage
- Great for providing large files without storing them in the filesystem
- Can be used to efficiently stream video files (skipping in the timeline will result in a partial download)
- Accepts
rangeheader to support partial downloads
Used packages
Fastify Adapterfor performanceMongooseto connect to MongoDBMongoDB GridFSfor streaming chunked files to and from Mongo DBfastify-multipartto parse Multipart forms
Setup
Docker
docker-compose up -d- Swagger documentation can be found at
http://localhost:3101/api/
Local
- Start a MongoDB instance with default configuration
- Use
npm startto compile and start the server - Swagger documentation can be found at
http://localhost:3101/api/
Usage
- Upload a file:
POSTtohttp://localhost:3101/as multipart/form-data withfilefield - Download an uploaded file:
GETtohttp://localhost:3101/<id> GETtohttp://localhost:3101for list of uploaded videos- More information can be found in the Swagger Documentation