Skip to content

namatery/multer-minio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minio Storage-Engine For Multer

MinIO

A simple Storage Engine for Minio to upload files to Minio at the middleware level with Multer. To write your own Storage Engine, check out this page.

How to install

To use this package you can easily install it via npm:

npm install @namatery/multer-minio

How to use

NOTE 1: multer-minio is just a storage engine for Multer, so you need to first install it via this link.

NOTE 2: multer-minio needs an instance of the Client class to connect to Minio. For more information, see Minio API Document.

MinioStorageEngine

A class that you can import from @namatery/multer-minio:

const { Client } = require('minio');
const { MinioStorageEngine } = require('@namatery/multer-minio');

const minioClient = new Client({
  port: PORT,
  endPoint: END_POINT,
  accessKey: ACCESS_KEY,
  secretKey: SECRET_KEY,
});

const options = {
  path: '/path/in/bucket',
  region: 'us-east-1',
  bucket: {
    init: true,
    versioning: false,
    forceDelete: false,
  },
  object: {
    name: (req, file) => {
      return `${new Date()}-${file.originalname}`;
    },
    useOriginalFilename: false,
  },
};

const storage = new MinioStorageEngine(minioClient, 'test', options);

Options

Name Description Required Default
path The path of the file in the bucket. False /
region The region where the bucket is created. False us-east-1
bucket.init If true, the bucket is created if it does not exist. False False
bucket.versioning Can be Enabled or Suspended. False False
bucket.forceDelete If true, objects will be removed even if versioning was enabled. False False
object.name Can be null or a function that returns the name of the object. False uuid
object.useOriginalFilename If true, the name of the original file will be used. False False

Example

Check out [this link][Example] to see a full example:

About

A simple storage engine for Multer to upload files on Minio storage.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors