0.2.1 • Published 5 months ago

strapi-provider-upload-oss v0.2.1

Weekly downloads
26
License
MIT
Repository
github
Last release
5 months ago

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'),  // required
        accessKeySecret: env('ACCESS_KEY_SECRET'), // required
        region: env('REGION'), // required
        bucket: env('BUCKET'), // required
        uploadPath: env('UPLOAD_PATH'),
        baseUrl: env('BASE_URL'),
        timeout: env('TIMEOUT'),
        secure: env('OSS_SECURE'),
        internal: env.bool('OSS_INTERNAL', false),
        bucketParams: {
          ACL: 'private', // default is 'public-read'
          signedUrlExpires: 60 * 60 // default is 30 * 60 (30min)
        }
      }
    }
  }
});

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
      internal: env.bool('OSS_INTERNAL', false),
    }
  }
});

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
internalbooleanaccess OSS with aliyun internal network or not, default is false. If your servers are running on aliyun too, you can set true to save lot of money.

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

0.2.1

5 months ago

0.2.0

1 year ago

0.1.7

2 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2-beta.1

6 years ago

0.0.2

6 years ago

0.0.1-alpha.2

6 years ago

0.0.1-alpha.1

6 years ago

0.0.1

6 years ago