@namatery/multer-minio
v1.1.2
Published
A simple storage engine for Multer to upload files on Minio storage.
Downloads
298
Readme
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: