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-core
Usage
// 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.