OSS brower js SDK

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 浅谈 今天带来的是 OSS brower js SDK 的安装过程和使用的 demo 测试用例。 环境准备 OSS brower js SDK 是基于 node js 框架上的服务端程序,服务端启动以后,提供客户端的访问地址。

作者:张医博

浅谈

今天带来的是 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 库

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 生成方式,需要修改:
#vim ali-oss/example/server/config.js
module.exports = {
  AccessKeyId: "子账号 accesskey",
  AccessKeySecret: "子账号 accesskeysecret",
  RoleArn: "角色 Arn",
  // 建议 Token 失效时间为 1 小时
  TokenExpireTime: '3600',
  PolicyFile: 'policy/all_policy.txt'
};
  1. 如果用户不想用这个集成的 STS 生成器,可以自己单独写个生成 STS 代码。那么上面的 1 步忽略,直接执行以下操作。 vim ali-oss/example/server/config.js,将 bucket 和 region 替换成自己的信息。
    image.png
  2. 如果用户自己单独写了一个 sts 的程序,需要将 main,js 中依赖的 sts 地址换成自己的访问链接;
    image.png
  3. 在 OSS 上配置跨域头,避免跨域访问到 OSS 是出现 deny 403 的情况。如果客户端访问是 http://192.168.1.102/brower/testindex.html ,在 OSS 跨域来源上 IP 也要加入,最方便的做法是配置为 *;
    image.png

启动

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
      });

下图就是启动后的效果
image.png

使用遇到问题

上传回调如何添加

const uploadFile = function uploadFile(client) {
  if (!uploadFileClient || Object.keys(uploadFileClient).length === 0) {
    uploadFileClient = client;
  }

  const file = document.getElementById('file').files[0];
  const key = document.getElementById('object-key-file').value.trim() || 'object';

  console.log(`${file.name} => ${key}`);
  const options = {
      progress,
      partSize: 500 * 1024,
          timeout:60000,
      meta: {
          year: 2017,
          people: 'test',
      },
callback: {

//这里是添加上传回调的位置
  url: 'https://uploadtest.xueersi.com/v2/sync',
  /* host: 'oss-cn-shenzhen.aliyuncs.com', */
  /* eslint no-template-curly-in-string: [0] */
  body: 'bucket=${bucket}&object=${object}&var1=${x:var1}',
  contentType: 'application/x-www-form-urlencoded',
  customValue: {
    var1: 'value1',
    var2: 'value2',
  },
},

如何使用 https 传输

const client = new OSS({
        region,
        accessKeyId: creds.AccessKeyId,
        accessKeySecret: creds.AccessKeySecret,
        stsToken: creds.SecurityToken,
        bucket,
        secret: true
      })
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
存储 JavaScript 前端开发
oss使用SDK上传文件
oss使用SDK上传文件
599 2
|
2月前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
|
2月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
|
2月前
|
Rust API 开发工具
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
`Rust`语言编写的阿里云OSS的SDK,依据官方文档并参考了其他语言的实现。
279 5
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
|
2月前
|
存储 移动开发 前端开发
对象存储oss使用问题之OSS SDK .net 使用下载例程报错如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
|
2月前
|
开发工具 对象存储 Android开发
对象存储oss使用问题之C++使用OSS SDK时遍历OSS上的文件时崩溃如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
|
2月前
|
对象存储
阿里云oss-cloud-sdk-springboot3兼容问题
阿里云oss-cloud-sdk-springboot3兼容问题
131 0
|
JavaScript 前端开发 Cloud Native
SAP Cloud SDK for JavaScript 概述
SAP Cloud SDK for JavaScript 概述
108 0
SAP Cloud SDK for JavaScript 概述
|
JavaScript 前端开发 Cloud Native
SAP Cloud SDK for JavaScript 概述
原文链接 TypeScript 和 JavaScript 开发人员,这是为您准备的:SAP Cloud SDK (fka SAP S/4HANA Cloud SDK) 现在可用于 JavaScript。 今天,我们很自豪地发布了适用于 JavaScript 的 SAP Cloud SDK 1.0.0 版。 这是继去年 10 月开始的测试版之后,第一个通用的、高效的 JavaScript 库版本。
|
2天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
11 2