-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
44 lines (37 loc) · 2.01 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
'use strict'
var storage = require('./softlayer-storage.js');
var config = require('./config.js');
var fs = require('fs');
var localFileName = 'localfile.png';
// ------------------------------ Upload File ------------------------------
// Upload method quite ok
// ---------------------------------------------------------------------------
storage.uploadFile(config, 'example.png', false, function(error, response, dstFileName) {
if (error || (response && response.statusCode != 201))
{
console.log("\tUnable to upload file %s - %s", dstFileName, JSON.stringify(response));
return;
}
console.log("\tStatus = %d", response.statusCode);
console.log("\tFile Name: %s", dstFileName);
// ------------------------------ Download File ------------------------------
// HACK! downloadFile function still has flaw, it didn't know when download stream has completed
// ---------------------------------------------------------------------------
var file = fs.createWriteStream(localFileName);
storage.downloadFile(config, dstFileName, function(error, response) {
console.info("\tDownloading %d bytes of %s to %s", response.headers['content-length'], dstFileName, localFileName);
file.write(response.body, 'binary');
});
// ------------------------------ Delete File ------------------------------
// HACK! Because downloadFile function still has flaw, deleteFile can't be called immediately, instead its using timer
// ---------------------------------------------------------------------------
setTimeout(function() {
storage.deleteFile(config, dstFileName, function(error, response) {
if (error || (response && response.statusCode != 204))
console.log("\tUnable to delete file %s - %s", dstFileName, JSON.stringify(response));
else
console.log("\tFile %s has been deleted", dstFileName);
process.exit(0);
});
}, 2000);
});