Skip to content

A Node.js module for streaming data to Aliyun OSS via the multipart upload API

License

Notifications You must be signed in to change notification settings

meteormatt/oss-upload-stream

 
 

Repository files navigation

oss-upload-stream

npm version cnpm version Build Status Known Vulnerabilities Coverage Status

A pipeable write stream which uploads to Aliyun OSS using the multipart file upload API.

Fork from s3-upload-stream.

介绍

阿里云官方的Node.js SDK aliyun-sdk 不支持stream方式上传文件到OSS. 所以我尝试修改了s3-upload-stream, 然后移植在aliyun-sdk上.

项目取名oss-upload-stream, 并发布到npm上.

样例

样例代码请参考examples/upload.js

#!/usr/bin/env node
var ALY = require('aliyun-sdk'),
    fs = require('fs');

// Make sure Aliyun credentials are loaded.
var config = require('./config.json');

// Initialize a stream client.
var ossStream = require('../lib/oss-upload-stream.js')(new ALY.OSS(config));

// Create the streams
var read = fs.createReadStream('文件路径');
var upload = ossStream.upload({
  "Bucket": "你的bucket",
  "Key": '文件名称'
});

// Handle errors.
upload.on('error', function (error) {
  console.log(error);
});

// Handle progress.
upload.on('part', function (details) {
  console.log(details);
});

// Handle upload completion.
upload.on('uploaded', function (details) {
  var delta = (new Date() - startTime) / 1000;
  console.log(details);
  console.log('Completed upload in', delta, 'seconds');
});

// Pipe the incoming filestream and upload to Aliyun OSS.
read.pipe(upload);
var startTime = new Date();

安装

npm install oss-upload-stream

测试

npm test

许可证

Mozilla 公共许可协议

附录

本项目和aliyun-oss-upload-stream的区别.

aliyun-oss-upload-stream是从本项目fork出去的,增加了中文注释,然后改头换面,隐藏了出处. 我个人认为开源项目应该保持fork的属性,并且指明出处.

About

A Node.js module for streaming data to Aliyun OSS via the multipart upload API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%