Strapi plugin logo for Aliyun OSS

Aliyun OSS

Aliyun OSS provider for Strapi

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

Propertytypevalue
accessKeyIdstring<aliyun access key id>
accessKeySecretstring<aliyun access key secret>
regionstringOSS region (see reference below)
bucketstringbucket name
uploadPathstringpath to store the file
baseUrlstringcan be your custom oss url for accessing the uploaded file, e.g. //www.website.com
timeoutintegerOSS upload timeout (unit: seconds)
securebooleanwill https mode be enabled for oss client
autoThumb (Beta)booleanVIDEO 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

Install now

npm install strapi-provider-upload-oss

Last updated

215 days ago

Strapi Compatibility

Unavailable

Author

github profile image for hezzze
hezzze

Related plugin

Upload

Useful links

Create your own plugin

Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.