safe-fs-blob-store

1.0.6 • Public • Published

safe-fs-blob-store

blob-store-compatible

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:

  1. 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.
  2. 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.
  3. 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

Package Sidebar

Install

npm i safe-fs-blob-store

Weekly Downloads

10

Version

1.0.6

License

ISC

Unpacked Size

22.2 kB

Total Files

11

Last publish

Collaborators

  • andrew_chou
  • substack
  • karissa
  • digidem-admin
  • gmaclennan
  • noffle