浅谈
今天带来的是 OSS brower js SDK 的安装过程和使用的 demo 测试用例。
环境准备
OSS brower js SDK 是基于 node js 框架上的服务端程序,服务端启动以后,提供客户端的访问地址。
- 准备 node js 安装,最好在 9.x.x 以上版本,我当前的测试版本是 v10.9.0
- 测试浏览器环境 ( IE>=10,主流版本的 Chrome/Firefox/Safari,主流版本的 Android/iOS/WindowsPhone )
开始安装
下载源码 git 库
- git clone https://github.com/ali-sdk/ali-oss.git
npm 开始安装
- cd ali-oss ,执行 npm install
- cd example ,执行 npm install
tips :因为部分浏览器不支持 promise,需要引入 promise 兼容库。 例如:IE10 和 IE11 需要引入 promise-polyfill 。
修改配置文件
- 1、OSS brower 自带集成了 STS 生成的功能,其实就是在本地启动了一个小型的 web server ,这样用可以通过 STS 的安全方式上传、下载 OSS。如果要用这个集成的 STS 生成方式,需要修改:
- ali-oss/example/server/config.js
module.exports = {
AccessKeyId: "子账号 accesskey",
AccessKeySecret: "子账号 accesskeysecret",
RoleArn: "角色 Arn",
// 建议 Token 失效时间为 1 小时
TokenExpireTime: '3600',
PolicyFile: 'policy/all_policy.txt'
};
- 2、 如果用户不想用这个集成的 STS 生成器,可以自己单独写个生成 STS 代码。那么上面的 1 步忽略,直接执行以下操作。
- ali-oss/example/src/main.js,将 bucket 和 region 替换成自己的信息。
- 3、 如果用户自己单独写了一个 sts 的程序,需要将 main,js 中依赖的 sts 地址换成自己的访问链接;
- 在 OSS 上配置跨域头,避免跨域访问到 OSS 是出现 deny 403 的情况。如果客户端访问是 http://192.168.1.102/brower/testindex.html ,在 OSS 跨域来源上 IP 也要加入,最方便的做法是配置为 *;
启动
cd ali-oss/example 执行 npm run start
如果用户想要用 https 的方式上传,在 OSSClient 初始化时加上 secure:true 就是 https 传输了。
const client = new OSS({
region,
accessKeyId: creds.AccessKeyId,
accessKeySecret: creds.AccessKeySecret,
stsToken: creds.SecurityToken,
bucket,
secure:true
});
下图就是启动后的效果