Skip to content

ETiV/upyun-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

An UPYUN SDK for Node.js.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published