Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuri2peter/easy-oss
阿里云oss的对接库,封装了常见的使用场景。
https://github.com/yuri2peter/easy-oss
Last synced: 6 days ago
JSON representation
阿里云oss的对接库,封装了常见的使用场景。
- Host: GitHub
- URL: https://github.com/yuri2peter/easy-oss
- Owner: yuri2peter
- License: apache-2.0
- Created: 2020-06-03T06:05:37.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-07-18T21:31:05.000Z (over 2 years ago)
- Last Synced: 2024-11-17T00:33:46.133Z (2 months ago)
- Language: JavaScript
- Size: 339 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# easy-oss
阿里云 oss 的对接库,封装了常见的使用场景。
## 准备工作
### 配置阿里云 OSS Bucket
我们以创建一个名为`easy-oss-test`的 oss bucket 为例,步骤如下:
1. 登录[OSS 管理控制台](https://oss.console.aliyun.com/bucket)。
2. 创建一个新的 Bucket,Bucket 命名为 `easy-oss-test`,地区选择杭州。
3. 前往[RAM 创建用户页面](https://ram.console.aliyun.com/users/new),创建一个新用户,访问方式需要勾选编程访问(可选密码访问)。登录名称:`admin_oss_easy_oss_test`;显示名称:`[OSS](easy-oss-test)管理员`。
4. 创建成功后,妥善保存 AccessKey ID 和 AccessKey Secret,请勿泄露。
5. 前往[新建自定义权限策略页面](https://ram.console.aliyun.com/policies/new),新建一个描述 oss 管理的策略。策略名称:`admin_oss_easy_oss_test`,配置模式选择“脚本配置”,输入以下策略内容并保存:
```
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:easy-oss-test",
"acs:oss:*:*:easy-oss-test/*"
]
}
]
}
```
6. 前往[RAM 用户管理页面](https://ram.console.aliyun.com/users),找到我们刚才创建的用户,点击`添加权限`。选择`自定义策略`,添加我们刚才创建的自定义策略`admin_oss_easy_oss_test`并保存。7. 如果需要在 web 端、小程序端操作 oss,请开启跨域。在对应 oss 的管理页面中,选择“权限管理”->“跨域设置”,创建新的跨域规则。规则需要按照您的实际情况制定,可以先指定一个最宽松的规则,来源:\*,允许的 Methods:全部,允许的 Headers:\* 。
至此,我们已经成功创建了一个 oss bucket 并且为其配置了一个可供编程 API 调用的 RAM 子账户。
## 使用
```javascript
const EasyOss = require('@yuri2/easy-oss');// 按实际情况配置
const ossOptions = {
bucket: 'easy-oss-test',
region: 'oss-cn-hangzhou',
accessKeyId: 'xxxxxxxxxxxxxxxxxxxxxxxx',
accessKeySecret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
};// 创建操作实例
const oss = new EasyOss({ ossOptions });// 列举当前bucket下所有文件
oss.listPrefix('').then(console.log);
```## 服务端 API
完善中...
您可[点击这里](./src/index.js)自行查看源码中的注释。
## Web 客户端上传 demo
Demo 文件位于`web_demo`目录下,包含一个在 web 端上传到指定 oss 目录下的示例。
由于上传所需的信息具有时效性,测试 demo 前,请请先运行 `getPostSignatureForUpload` API,并将结果维护到 html 文件的 `options` 中。## 同步 CNPM
如果 CNPM 没有及时同步最新的软件包,可以访问[@yuri2/easy-oss](https://developer.aliyun.com/mirror/npm/package/@yuri2/easy-oss),并点击`SYNC`按钮手动同步。