@namatery/multer-minio
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

Minio Storage-Engine For Multer

MinIO

A simple Storage Engine for Minio to upload files there in the middleware level with Multer. To write you own Storage Engine check out this page.

How to install it?

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

npm install @namatery/multer-minio

How to use it?

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

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

MinioStorageEngine

A a class that you can import it 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 file in the bucket. False /
region Region where the bucket is created. False us-east-1
bucket.init If ture the bucket is create if not exists. False False
bucket.versioning Can be Enabled or Suspended. False False
bucket.forceDelete If true objects will remove even if versioning was enabled. False False
object.name Can be null or a function that return name of the object. False uuid
object.useOriginalFilename If true name of the original file will be use. False False

Example

Checkout [this link][Example] to see a full example:

Package Sidebar

Install

npm i @namatery/multer-minio

Weekly Downloads

78

Version

1.1.2

License

MIT

Unpacked Size

17.4 kB

Total Files

19

Last publish

Collaborators

  • namatery