upyun-core v0.1.8
UPYUN Core
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
Install
npm install upyun-coreUsage
// 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
}
}Methods
writeFile(path, buffer, cb)
// 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);fetchFile(path, 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
}
});removeFile(path, cb)
// callback: function(err){}
Remove(Delete) The Certain File From The Given path.
upyun.removeFile(path, cb);createDirs(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);removeDir(path, cb)
// callback: function(err){}
Remove(Delete) An EMPTY Directory By Given path.
upyun.removeDir(path, cb);destroyDir(path, callback)
// 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);Introducing Data Structure Of An entity
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
};inspect(path, cb)
// callback: function(err, entity){}
Inspect The Entity Of The Given path.
upyun.inspect(path, cb);listDir(path, cb)
// callback: function(err, an_array_of_entities){}
List A Certain Directory By The Given path.
upyun.listDir(path, cb);bucketUsage(callback)
// callback: function(err, bytesUsed){}
Get The Total Bytes Used By This Bucket.
upyun.bucketUsage(cb);setHost(hostIndex)
// no callback
purge(an_array_of_urls, cb)
// 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.