safe-fs-blob-store
v1.0.6
Published
fs-blob-store with atomic writes and deals with windows fs edge cases
Downloads
42
Readme
safe-fs-blob-store
filesystem blob store with atomic writes and high file limits on Windows
This module exposes the same API as fs-blob-store, but with two additional features:
- File writes are atomic. This is done by maintaining a "staging" area in the blob store that files are written to, and then renamed (using an atomic syscall) to the destination filename upon completion.
- Window's NTFS file system has a limit of ~4 billion files in a directory. FAT32 has a limit of ~65,000. This module transparently manages subdirectories from the prefixes of given keys to avoid hitting this limit as quickly.
- Adds a
list()
method which lists the key names of all the files in the media store.
Usage
var fs = require('safe-fs-blob-store')
var blobs = fs('some-directory')
var ws = blobs.createWriteStream({
key: 'some/path/file.txt'
})
ws.end('hello world\n')
ws.on('finish', function () {
var rs = blobs.createReadStream({
key: 'some/path/file.txt'
})
rs.pipe(process.stdout)
})
API
See https://github.com/maxogden/abstract-blob-store and in addition:
store.list(cb)
Calls cb
with err, keys
, where keys
is an array of string key names of the files in the store.
License
ISC