Liar0320 / strapi-provider-upload-oss

A provider for strapi server to upload file to Aliyun OSS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

strapi-provider-upload-oss

A provider for strapi server to upload file to Aliyun OSS.

Requirements

  • Node.js >= 10
  • npm > 6

Installation

$ npm install strapi-provider-upload-oss --save

or

$ yarn add strapi-provider-upload-oss --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, configuration is updated a little bit. See example below for ./config/plugins.js:

module.exports = ({ env }) => ({
  upload: {
    config: {
      provider: 'strapi-provider-upload-oss', // full package name is required
      providerOptions: {
        accessKeyId: env('ACCESS_KEY_ID'),
        accessKeySecret: env('ACCESS_KEY_SECRET'),
        region: env('REGION'),
        bucket: env('BUCKET'),
        uploadPath: env('UPLOAD_PATH'),
        baseUrl: env('BASE_URL'),
        timeout: env('TIMEOUT'),
        secure: env('OSS_SECURE')
      }
    }
  }
});

Official documentation here

Strapi v3

With a stable release of Strapi 3.0.0, the configuration was moved to a JavaScript file. Official documentation here.

To enable the provider, create or edit the file at ./config/plugins.js.

module.exports = ({ env }) => ({
  upload: {
    provider: 'oss',
    providerOptions: {
      accessKeyId: env('ACCESS_KEY_ID'),
      accessKeySecret: env('ACCESS_KEY_SECRET'),
      region: env('REGION'),
      bucket: env('BUCKET'),
      uploadPath: env('UPLOAD_PATH'),
      baseUrl: env('BASE_URL'),
      timeout: env('TIMEOUT'),
      secure: env('OSS_SECURE') //default to true
    }
  }
});

Provider Options

Property type value
accessKeyId string <aliyun access key id>
accessKeySecret string <aliyun access key secret>
region string OSS region (see reference below)
bucket string bucket name
uploadPath string path to store the file
baseUrl string can be your custom oss url for accessing the uploaded file, e.g. //www.website.com
timeout integer OSS upload timeout (unit: seconds)
secure boolean will https mode be enabled for oss client
autoThumb (Beta) boolean VIDEO FILES ONLY currently only supports .mp4 file, will generate thumbnail for the video uploaded (screenshot at 00:01 of the video, size: 480x360)

OSS Region reference

https://help.aliyun.com/document_detail/31837.html#title-qvx-r3a-xr4

Troubleshooting

Q: getting "The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint."

A: Check if the OSS region is correct for the bucket you're using

Contribution

This repo is maintained periodically, any contribution is highly welcomed

About

A provider for strapi server to upload file to Aliyun OSS

License:MIT License


Languages

Language:JavaScript 100.0%