
By hezzze
Aliyun OSS provider for Strapi
released June 7, 2026
npm install strapi-provider-upload-ossA provider for strapi server to upload file to Aliyun OSS.
$ npm install strapi-provider-upload-oss --saveor
$ yarn add strapi-provider-upload-oss --saveFor more details, please see: https://strapi.io/documentation/developer-docs/latest/development/plugins/upload.html#using-a-provider
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
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),
}
}
});| 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 |
| internal | boolean | access 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. |
https://help.aliyun.com/document_detail/31837.html#title-qvx-r3a-xr4
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
This repo is maintained periodically, any contribution is highly welcomed
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
