Package Exports
- dropbox-fs
- dropbox-fs/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dropbox-fs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
dropbox-fs

Node fs wrapper for Dropbox. Wraps the Dropbox javascript module with an async fs-like API so it can be used where a fileSystem API is expected.
Installation
To use this module you'll need a Dropbox Access Token.
$ npm install --save dropbox-fsUsage
const dfs = require('dropbox-fs')({
apiKey: 'DROPBOX_API_KEY_HERE'
});
dfs.readdir('/Public', (err, result) => {
console.log(result); // Array of files and folders
});Promises are also supported.
const dfs = require('dropbox-fs/promises')({
apiKey: 'DROPBOX_API_KEY_HERE'
});You can also pass in a client option if you’re using your own dropbox module instead of the apiKey.
If you'd like some peace of mind then there's a read-only option too:
const dfs = require('dropbox-fs/readonly')({
apiKey: 'DROPBOX_API_KEY_HERE'
});
// Methods that might change data now return an error without performing any action:
// - mkdir
// - rename
// - rmdir
// - unlink
// - writeFile
dfs.unlink('/Public', (err) => {
console.log(err); // Message saying `unlink` is not supported in read-only
});API
This module exposes the following methods:
readdir(path[, options], callback)
Reads a directory and returns a list of files and folders inside.
dfs.readdir('/', (err, result) => {
console.log(result);
});path:String|Buffercallback:Function
mkdir(path, callback)
Creates a directory.
dfs.mkdir('/Public/Resume', (err, stat) => {
console.log(stat.name); // Resume
console.log(stat.isDirectory()); // true
});path:String|Buffercallback:Function
rmdir(path, callback)
Deletes a directory.
dfs.rmdir('/Public/Resume', err => {
if (!err) {
console.log('Deleted.');
}
});path:String|Buffercallback:Function
readFile(path[, options], callback)
Reads a file and returns it’s contents.
// Buffer:
dfs.readFile('/Work/doc.txt', (err, result) => {
console.log(result.toString('utf8'));
});
// String
dfs.readFile('/Work/doc.txt', {encoding: 'utf8'}, (err, result) => {
console.log(result);
});path:String|Bufferoptions: OptionalString|Objectencoding:String
callback:Function
If you pass a string as the options parameter, it will be used as options.encoding. If you don’t provide an encoding, a raw Buffer will be passed to the callback.
writeFile(path, data[, options], callback)
Writes a file to the remote API and returns it’s stat.
const content = fs.readFileSync('./localfile.md');
dfs.writeFile('/Public/doc.md', content, {encoding: 'utf8'}, (err, stat) => {
console.log(stat.name); // doc.md
});path:String|Bufferdata:String|Bufferoptions: OptionalString|Objectencoding:Stringoverwrite:BooleanDefault:true.
callback:Function
rename(fromPath, toPath, callback)
Renames a file (moves it to a new location).
dfs.rename('/Public/doc.md', '/Backups/doc-backup.md', err => {
if err {
console.error('Failed!');
} else {
console.log('Moved!');
}
});path:String|Bufferdata:String|Buffercallback:Function
stat(path, callback)
Returns the file/folder information.
dfs.stat('/Some/Remote/Folder/', (err, stat) => {
console.log(stat.isDirectory()); // true
console.log(stat.name); // Folder
});path:String|Buffercallback:Functionerr:null|Errorstat: Stat Object
unlink(path, callback)
Deletes a file.
dfs.unlink('/Path/To/file.txt', err => {
if (!err) {
console.log('Deleted!');
}
});path:String|Buffercallback:Function
createReadStream(path)
Creates a readable stream.
const stream = fs.createReadStream('/test/test1.txt');
stream.on('data', data => {
console.log('data', data);
});
stream.on('end', () => {
console.log('stream finished');
});path:String|Buffer
createWriteStream(path)
Creates a writable stream.
const stream = fs.createWriteStream('/test/test1.txt');
someStream().pipe(stream).on('finish', () => {
console.log('write stream finished');
});path:String|Buffer
Stat Object
The stat object that is returned from writeFile() and stat() contains two methods in addition to some standard information like name, etc:
stat.isDirectory()Returnstrueif the target is a directorystat.isFile()Returnstrueif the target is a file
License
This software is released under the MIT License.