https://github.com/contributte/strapi-provider-upload-matrix
🚀 Strapi multiple upload plugin on steroids
https://github.com/contributte/strapi-provider-upload-matrix
matrix plugin provider strapi strapi-plugin upload webkitty
Last synced: 3 months ago
JSON representation
🚀 Strapi multiple upload plugin on steroids
- Host: GitHub
- URL: https://github.com/contributte/strapi-provider-upload-matrix
- Owner: contributte
- License: mit
- Created: 2020-11-16T15:38:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-21T09:34:33.000Z (about 5 years ago)
- Last Synced: 2025-09-19T01:49:17.863Z (9 months ago)
- Topics: matrix, plugin, provider, strapi, strapi-plugin, upload, webkitty
- Language: JavaScript
- Homepage:
- Size: 7.81 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Strapi Matrix Provider
Combine multiple upload plugins together.
🕹 f3l1x.io | 💻 f3l1x | 🐦 @xf3l1x

-----
## Usage
To install latest version use [NPM](https://npmjs.com).
```
npm install --save strapi-provider-upload-matrix
```
## Overview
Strapi has great support for plugins and upload providers, but you can register only one upload provider.
Let's say you want to deploy images to image service and other files to file service. This provider will help you.
## Documentation
1. Install provider.
2. Install [other upload providers](https://www.npmjs.com/search?q=strapi-provider-upload-&ranking=popularity).
3. Edit configuration.
We are going to setup 2 providers ([ImageKit](https://www.npmjs.com/package/strapi-provider-upload-imagekit) and [S3](https://www.npmjs.com/package/strapi-provider-upload-aws-s3)).
- Images will use `imagekit` according to extensions (`png, jpg, jpeg, svg, webp, gif, tif, mp4, webm, mov, swf, pdf`)
- Other files will use `aws-s3` according to fallback
#### `{strapi}/config/plugins.js`
```js
module.exports = ({ env }) => ({
upload: {
provider: 'matrix',
providerOptions: {
resolvers: [
// ImageKit
// Images, videos
{
id: 'images',
test: {
ext: ['png', 'jpg', 'jpeg', 'svg', 'webp', 'gif', 'tif', 'mp4', 'webm', 'mov', 'swf', 'pdf'],
},
use: {
provider: "imagekit",
providerOptions: {
publicKey: env("IMAGEKIT_PUBLIC_KEY"),
privateKey: env("IMAGEKIT_PRIVATE_KEY"),
urlEndpoint: env("IMAGEKIT_URL"),
params: {
folder: env("IMAGEKIT_FOLDER"),
}
}
}
},
// AWS S3
// Fallback
{
id: 'misc',
test: '*',
use: {
provider: 'aws-s3',
providerOptions: {
accessKeyId: env('AWS_ACCESS_KEY_ID'),
secretAccessKey: env('AWS_ACCESS_SECRET'),
region: env('AWS_REGION'),
params: {
Bucket: env('AWS_BUCKET'),
},
}
},
},
]
},
}
});
```
4. Profit 🚀
## Development
-----
Consider to [support](https://github.com/sponsors/f3l1x) **f3l1x**. Also thank you for using this package.