全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
对象存储 OSS

常见问题

更新时间:2018-04-28 22:58:06

如何 HTTPS 访问

初始化 SDK 时,可传入以下几个参数:

  • region: 参数是指您申请 OSS 服务时的区域,例如oss-cn-hangzhou。完整的区域列表可以在 OSS 服务节点查看。
  • internal: 配合region使用,如果指定 internaltrue,则访问内网节点。
  • secure: 配合region使用,如果指定了securetrue,则使用 HTTPS 访问。
  • endpoint: 例如http://oss-cn-hangzhou.aliyuncs.com,如果指定了endpoint,则region会被忽略,endpoint可以指定HTTPS,也可以是IP形式。

如何获取上传进度

使用分片上传时,可获取上传进度。相关文档

需注意,progress 参数可以是一个 generator function(function*),也可以是一个”thunk”:

  1. var progress = function (p) {
  2. return function (done) {
  3. console.log(p);
  4. done();
  5. };
  6. };

如何获取下载进度

Node 中可根据下载流的大小来计算进度。

如何上传base64编码的图片

将 Base64 内容转换成 File 对象,在调用接口上传至 OSS 服务器

  1. function dataURLtoFile(dataurl, filename) {
  2. var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
  3. bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  4. while(n--){
  5. u8arr[n] = bstr.charCodeAt(n);
  6. }
  7. return new File([u8arr], filename, {type:mime});
  8. }
  9. var file = dataURLtoFile('<base64 content>', '');
  10. client.multipartUpload('<oss file name>', file).then(function (res) {
  11. console.log(res)
  12. });

如何上传文件到指定目录

给要上传的 object 名称前加指定目录前缀即可,可参考: OSS 和文件系统对比

  1. var co = require('co');
  2. var OSS = require('ali-oss')
  3. var client = new OSS({
  4. region: '<Your region>',
  5. accessKeyId: '<Your AccessKeyId>',
  6. accessKeySecret: '<Your AccessKeySecret>',
  7. bucket: 'Your bucket name'
  8. });
  9. co(function* () {
  10. var result = yield client.multipartUpload('base-dir/' +'object-key', 'local-file', {
  11. progress: function* (p) {
  12. console.log('Progress: ' + p);
  13. }
  14. });
  15. console.log(result);
  16. }).catch(function (err) {
  17. console.log(err);
  18. });

如何获取object的签名URL

可调用 signatureUrl 方法,获取下载地址,可查看相关文档

常见错误参考

本文导读目录