详情页标题前

阿里云对象存储OSS对象存储OSS使用Node.js语言实现签名Header上传的示例-云淘科技

详情页1

概述

对象存储OSS SDK提供了集成签名、上传和下载的SDK,但实际使用中,有时需要使用API的方式实现在签名的情况下进行上传和下载,本文以PutObject接口为例,提供了Node.js语言实现的示例。

说明

建议优先使用OSS提供SDK,本文提供的只是签名实现上传示例,实际使用中需要结合业务进行代码改动。

详细信息

Node.js V12.10.0使用PutObject接口实现示例代码如下。

说明

所需模块有crypto-js和request。

var HmacSha1 = require('crypto-js/hmac-sha1') ;
var Base64 = require('crypto-js/enc-base64');
var request = require("request");
//endpoint
var endpont = 'http://oss-cn-hangzhou.aliyuncs.com';
//bucket
var bucketName = 'xxx';
//objectname
var objectname= 'mytest/nodejs.txt';
//accesskey
var accesskey = 'xxxx';
//accesskeySecret
var accesskeysecret ='xxx';



//生成GMT时间
var gmtDate = (new Date()).toGMTString();
console.log(gmtDate);
var contenttype = 'application/json';
var strtosgin = 'PUT

'+contenttype+'
'+gmtDate+'
'+'/'+bucketName+'/'+objectname




var sign = Base64.stringify((HmacSha1(strtosgin,accesskeysecret)));   
   var options = {
        url: 'http://xxx.oss-cn-hangzhou.aliyuncs.com/'+objectname,
        headers: {
            'Content-Type':contenttype,
            'Date':gmtDate,
            'Authorization': 'OSS '+accesskey+':'+sign
        },
        body:'{test:test}'
    };



    request.put(options, function(error, response, body) {
        console.info('response:' + JSON.stringify(response));
        console.info("statusCode:" + response.statusCode)
        console.info('body: ' + body );
    });

相关文档

在Header中包含签名

适用于

  • 对象存储OSS

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/159684.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。