OSS签名Header实现Demo(NodeJS)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: OSS的集成上传和下载提供了SDK可以直接使用,但实际使用中一些用户受限环境或者设备限制需要使用api方式来实现上传和下载,本文以PutObject接口为例,提供了NodeJS实现的demo

概述

OSS的集成上传和下载提供了SDK可以直接使用,但实际使用中一些用户受限环境或者设备限制需要使用api方式来实现上传和下载,本文以PutObject接口为例,提供了NodeJS实现的demo。
注:建议优先使用OSS提供SDK,本文提供的只是签名实现上传demo,实际使用中需要结合业务来进行改动代码

详细信息

PutObject实现demo(测试环境Node.js v12.10.0,所需模块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\n\n'+contenttype+'\n'+gmtDate+'\n'+'/'+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 );

    });
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
JavaScript 前端开发 Python
Node.js在Python中的应用实例demo
Node.js在Python中的应用实例demo
151 2
|
5月前
|
JavaScript 前端开发
Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo
如何使用Vue和Element UI配合Node.js及multiparty模块实现图片上传并反显的功能,包括前端的Element UI组件配置和后端的Node.js服务端代码实现。
86 1
|
6月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
JavaScript
【Node学习】—运行node服务demo
【Node学习】—运行node服务demo
|
前端开发 API 开发工具
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
1876 2
|
存储 JSON 前端开发
React+node 图片剪裁上传,集成本地存储和阿里云OSS
最近一直在调研图片上传阿里云oss功能,上篇文章主要讲述了阿里云oss大文件分片、断点续传。这篇文章是在原有基础上,前端加了图片剪裁、后端加了本地存储功能。
333 0
|
JavaScript 对象存储
阿里云 OSS 如何通过 Node.js 上传图片 #49
阿里云 OSS 如何通过 Node.js 上传图片 #49
390 0
|
SQL 存储 Cloud Native
CDN转存离线日志到OSS,实现更长时间的日志存储
CDN转存离线日志到OSS,实现更长时间的日志存储
642 1
CDN转存离线日志到OSS,实现更长时间的日志存储
|
消息中间件 JavaScript 数据挖掘
|
存储 安全 Java
SpringBoot2.x系列教程24--SpringBoot实现文件上传到OSS阿里云存储
前言 在上一章节中,壹哥 给大家讲解了如何在SpringBoot实现单个文件和多个文件上传,但是那种方式现在挺多项目中都不再采用了,而是会把文件上传到云存储服务器中,比如阿里云、腾讯云、华为云等。所以今天 壹哥 利用阿里云的OSS存储,讲解如何把本地文件存储到云存储服务器中,本文会教给你如何购买配置阿里云OSS,并且教你如何实现文件上传到云空间,干货满满哦。 一. 阿里云OSS简介 1. 存储服务简介 我们进行项目开发,很多时候都需要进行文件、图片等的上传,对于很多项目来说,虽然有FastDFS等文件存储服务器技术,但其实我们完全没有必要搭建自己的图片等文件服务器。对一个小型非专业的应用来说,
1770 0