mirror of
				https://github.com/strapi/strapi.git
				synced 2025-11-03 19:36:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# @strapi/provider-upload-cloudinary
 | 
						|
 | 
						|
## Resources
 | 
						|
 | 
						|
- [LICENSE](LICENSE)
 | 
						|
 | 
						|
## Links
 | 
						|
 | 
						|
- [Strapi website](https://strapi.io/)
 | 
						|
- [Strapi documentation](https://docs.strapi.io)
 | 
						|
- [Strapi community on Discord](https://discord.strapi.io)
 | 
						|
- [Strapi news on Twitter](https://twitter.com/strapijs)
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
```bash
 | 
						|
# using yarn
 | 
						|
yarn add @strapi/provider-upload-cloudinary
 | 
						|
 | 
						|
# using npm
 | 
						|
npm install @strapi/provider-upload-cloudinary --save
 | 
						|
```
 | 
						|
 | 
						|
## Configuration
 | 
						|
 | 
						|
- `provider` defines the name of the provider
 | 
						|
- `providerOptions` is passed down during the construction of the provider. (ex: `cloudinary.config`). [Complete list of options](https://cloudinary.com/documentation/cloudinary_sdks#configuration_parameters)
 | 
						|
- `actionOptions` is passed directly to each method respectively allowing for custom options. You can find the complete list of [upload/ uploadStream options](https://cloudinary.com/documentation/image_upload_api_reference#upload_optional_parameters) and [delete options](https://cloudinary.com/documentation/image_upload_api_reference#destroy_optional_parameters)
 | 
						|
 | 
						|
See the [documentation about using a provider](https://docs.strapi.io/developer-docs/latest/plugins/upload.html#using-a-provider) for information on installing and using a provider. To understand how environment variables are used in Strapi, please refer to the [documentation about environment variables](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/optional/environment.html#environment-variables).
 | 
						|
 | 
						|
### Provider Configuration
 | 
						|
 | 
						|
`./config/plugins.js`
 | 
						|
 | 
						|
```js
 | 
						|
module.exports = ({ env }) => ({
 | 
						|
  // ...
 | 
						|
  upload: {
 | 
						|
    config: {
 | 
						|
      provider: 'cloudinary',
 | 
						|
      providerOptions: {
 | 
						|
        cloud_name: env('CLOUDINARY_NAME'),
 | 
						|
        api_key: env('CLOUDINARY_KEY'),
 | 
						|
        api_secret: env('CLOUDINARY_SECRET'),
 | 
						|
      },
 | 
						|
      actionOptions: {
 | 
						|
        upload: {},
 | 
						|
        uploadStream: {},
 | 
						|
        delete: {},
 | 
						|
      },
 | 
						|
    },
 | 
						|
  },
 | 
						|
  // ...
 | 
						|
});
 | 
						|
```
 | 
						|
 | 
						|
### Security Middleware Configuration
 | 
						|
 | 
						|
Due to the default settings in the Strapi Security Middleware you will need to modify the `contentSecurityPolicy` settings to properly see thumbnail previews in the Media Library. You should replace `strapi::security` string with the object bellow instead as explained in the [middleware configuration](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/required/middlewares.html#loading-order) documentation.
 | 
						|
 | 
						|
`./config/middlewares.js`
 | 
						|
 | 
						|
```js
 | 
						|
module.exports = [
 | 
						|
  // ...
 | 
						|
  {
 | 
						|
    name: 'strapi::security',
 | 
						|
    config: {
 | 
						|
      contentSecurityPolicy: {
 | 
						|
        useDefaults: true,
 | 
						|
        directives: {
 | 
						|
          'connect-src': ["'self'", 'https:'],
 | 
						|
          'img-src': ["'self'", 'data:', 'blob:', 'market-assets.strapi.io', 'res.cloudinary.com'],
 | 
						|
          'media-src': [
 | 
						|
            "'self'",
 | 
						|
            'data:',
 | 
						|
            'blob:',
 | 
						|
            'market-assets.strapi.io',
 | 
						|
            'res.cloudinary.com',
 | 
						|
          ],
 | 
						|
          upgradeInsecureRequests: null,
 | 
						|
        },
 | 
						|
      },
 | 
						|
    },
 | 
						|
  },
 | 
						|
  // ...
 | 
						|
];
 | 
						|
```
 |