An UPYun Node.js SDK, using request
and async
.
Which Provides By Simple API Invoke:
- File Upload, Download
- Directory Create, Remove, Destroy(Recursively Remove)
- Entity Inspection, List Directory
- CDN Cache Purge
npm install upyun-core
// require
var UPYUN = require('upyun-core');
var upyun = new UPYUN('bucket_name', 'user', 'pass');
// all the callbacks looks like
function(err[, data]){
if (err) {
// Do error handling
} else {
// Success
}
}
// callback: function(err){}
Write(Upload) buffer
Content Up To The Given path
.
According To The Official Documentation, The Directory Depth Levels Of path
Should Not Large Than 10.
The path
will be built automatically, like mkdir -p path
.
upyun.writeFile(path, 'Node.js_Buffer_OR_String', cb);
// callback: function(err, contents){}
Fetch(Download) contents
From The Given path
.
upyun.fetchFile(path, function(err, contents){
if (err) {
// Do error handling
} else {
// contents will be String or Buffer
}
});
// callback: function(err){}
Remove(Delete) The Certain File From The Given path
.
upyun.removeFile(path, cb);
// callback: function(err){}
Create The path
.
According To The Official Documentation, The Directory Depth Levels Of path
Should Not Large Than 10.
The path
will be built automatically, like mkdir -p path
.
upyun.createDirs(path, cb);
// callback: function(err){}
Remove(Delete) An EMPTY Directory By Given path
.
upyun.removeDir(path, cb);
// callback: function(err){}
Recursively Remove The Given Path(Directory). Before Call This Method, Make Sure To Set "upyun.iDOReallyWantToDestroyDirectories" To true Every Time You Call This.
upyun.iDOReallyWantToDestroyDirectories = true;
upyun.destroyDir(path_you_really_want_to_destroy, cb);
var entity = {
'path': '/storage/images/some_hash.jpg', // the full path of the file or directory
'name': 'some_hash.jpg', // the base name with the file extension name
'time': '1397211136', // the unix timestamp of file last modified
'size': '438112', // the file size in bytes
'type': 'file | folder' // UPYUN.TYPES.FILE | UPYUN.TYPES.FOLDER
};
// callback: function(err, entity){}
Inspect The Entity Of The Given path
.
upyun.inspect(path, cb);
// callback: function(err, an_array_of_entities){}
List A Certain Directory By The Given path
.
upyun.listDir(path, cb);
// callback: function(err, bytesUsed){}
Get The Total Bytes Used By This Bucket.
upyun.bucketUsage(cb);
// no callback
// callback: function(err, an_array_of_invalid_urls){}
To Purge The CDN Cache Of Online Resources.
upyun.purge([url1, url2, url3], cb);
There are 4 hosts of UPYUN HTTP REST API, choose one of them.