softlayer-storage
Version:
SoftLayer ObjectStorage API
38 lines (33 loc) • 1.29 kB
JavaScript
var config = require('./config.js');
var fs = require('fs');
var
path = 'example.txt',
stat = fs.statSync(path), // so we can get file size
request = require('request'), // npm install request
authEndpoint = config.authEndpoint,
apiKey = config.apiKey,
user = config.user,
container = config.container,
folder = config.folder;
/*
authEndpoint = 'https://dal05.objectstorage.softlayer.net/auth/v1.0/';
apiKey = "3298fb6064c81361c19fbf99093b1f3daae9a870f2689a85a7ab2f0d4161a7fc";
user = "SLOS897033-2:SL897033";
container = "block00",
folder = "images";
*/
filename = "example.txt";
// first get upload endpoint and access token
request.get({url:authEndpoint, headers:{"X-Auth-Key":apiKey,"X-Auth-User": user}}, function (err, res) {
var data = JSON.parse(res.body);
var objectPath = data.storage.public+'/'+container+'/'+folder+'/'+filename;
// now upload the file
var file = fs.createReadStream(path)
.pipe(request.put({url: objectPath, headers:{'Content-Length': stat.size, "X-Auth-Token":res.headers['x-auth-token']}}, function(err, res, body){
if(err) {
console.log('error', err);
} else {
console.log('status', res.statusCode);
}
}));
});