An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

Strapi Matrix Provider


Combine multiple upload plugins together.


🕹 f3l1x.io | 💻 f3l1x | 🐦 @xf3l1x














![](/docs/screenshot.png)

-----

## 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.