1.0.2 • Published 1 year ago

provider-upload-qiniu-cloud2 v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

provider-upload-qiniu-cloud

A provider for strapi server to upload file to Qiniu Cloud

Requirements

  • Node.js >= 14
  • npm > 8

Installation

$ npm install provider-upload-qiniu-cloud --save

or

$ yarn add provider-upload-qiniu-cloud --save

For more details, please see: https://strapi.io/documentation/developer-docs/latest/development/plugins/upload.html#using-a-provider

Usage

Strapi v4

The lastest version of the provider supports v4 by default. See example below for ./config/plugins.js:

module.exports = ({ env }) => ({
  upload: {
    config: {
      provider: 'provider-upload-qiniu-cloud', // full package name is required
      providerOptions: {
        accessKey: env('ACCESS_KEY', ''),
        secretKey: env('SECRET_KEY', ''),
        prefix: env('PREFIX', ''),
        zone: env('ZONE', 'Zone_z0'),
        bucket: env('BUCKET', ''),
        publicBucketDomain: env('PUBLIC_BUCKET_DOMAIN', ''),
        https: env('HTTPS', true),
        cdn: env('CDN', false),
      },
    },
  },
});

Official documentation here

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

./config/middlewares.js

module.exports = [
  // ...
  {
    name: 'strapi::security',
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          'connect-src': ["'self'", 'https:'],
          'img-src': ["'self'", 'data:', 'blob:', '*'],
          'media-src': ["'self'", 'data:', 'blob:', '*'],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  // ...
];

Provider Options

Propertytypevalue
accessKeystring<qiniu access key id>
secretKeystring<qiniu access key secret>
bucketstringbucket name
prefixstringdir name in bucket
zonestringqiniu region (see Qiniu Development Documentation below)
publicBucketDomainstringcustom origin domain name for accessing the uploaded file, e.g. // example: http://if-pbl.qiniudn.com
httpsbooleanDomain with or without https
cdnbooleanWhether to use cdn acceleration when uploading

Qiniu Development Documentation

https://developer.qiniu.com/kodo/1289/nodejs

1.0.2

1 year ago