阿里云OSS javascript SDK,基于Node.js的一次考验
刚开始用OSS作为文件云存储里使用的是.NET-SDK,但是随着数据量增加,对服务器的性能造成的影响;一直在想如何减少服务器的中转压力,发现阿里出了Javascript sdk了,马上展开研究;因为都是大文件上传,根据业务实际场景,所以想做一个客户端,对传统的桌面开发,java,C#,wpf等等研究了一下,不太适合;最终决定使用HTML5开发e桌面t应用,选择了Eletron。从githut上下截
·
刚开始用OSS作为文件云存储里使用的是.NET-SDK,但是随着数据量增加,对服务器的性能造成的影响;一直在想如何减少服务器的中转压力,发现阿里出了Javascript sdk了,马上展开研究;因为都是大文件上传,根据业务实际场景,所以想做一个客户端,对传统的桌面开发,java,C#,wpf等等研究了一下,不太适合;最终决定使用HTML5开发e桌面t应用,选择了Eletron。从githut上下截,安装配环境;试了一下客户demo,不行东东;就安排一人安装OSS javascript sdk测试,并制作多文件分片断点续传demo,结果搞如了半天总是出错,代码如下:
var client = new OSS({
region: '
<
Your
region
>',
accessKeyId: '
<
Your
AccessKeyId
>',
accessKeySecret: '
<
Your
AccessKeySecret
>',
bucket: 'Your bucket name'
});
var co = require('co');
var OSS = require('ali-oss');
var fs = require('fs');
co(function* () {
// use 'chunked encoding'
var stream = fs.createReadStream('local-file');
var result = yield client.putStream('object-key', stream);
console.log(result);
// don't use 'chunked encoding'
var stream = fs.createReadStream('local-file');
var size = fs.statSync('local-file').size;
var result = yield client.putStream(
'object-key', stream, {contentLength: size});
console.log(result);
}).catch(function (err) {
console.log(err);
});
var co = require('co');
var OSS = require('ali-oss');
var fs = require('fs');
var client = new OSS({
region: '
<
Your
region
>',
accessKeyId: '
<
Your
AccessKeyId
>',
accessKeySecret: '
<
Your
AccessKeySecret
>',
bucket: 'Your bucket name'
});
co(function* () {
// use 'chunked encoding'
var stream = fs.createReadStream('local-file');
var result = yield client.putStream('object-key', stream);
console.log(result);
// don't use 'chunked encoding'
var stream = fs.createReadStream('local-file');
var size = fs.statSync('local-file').size;
var result = yield client.putStream(
'object-key', stream, {contentLength: size});
console.log(result);
}).catch(function (err) {
console.log(err);
});
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)