fs-web
Bringing a file system abstraction to the browser. fs is a module that allows you to store data in the (modern) browser using an API similar to that of Node's fs module
Implemented in a cross-browser fashion, using IndexedDB.
Installation
Install via npm:
npm install fs-web --save
Example
Writing from a file input.
; let input = document; input;
Writing and reading.
; fs ;
API
All methods return a Promise.
fs.writeFile(fileName, data)
Saves the file data
with the name fileName
and returns a Promise. If an error is encountered, the Promise will be rejected with an Error
object.
fs.readFile(fileName)
Retrieves the file with the name fileName
and returns a Promise. The Promise will resolve with the file's data as an ArrayBuffer
.
fs.readString(fileName)
Retrieves the file with the name fileName
and returns a Promise. The Promise will resolve with a string representation of fileName
.
fs.removeFile(fileName)
Removes the file with the name fileName
from storage and returns a Promise. The Promise will resolve even if the fileName doesn't exist.
fs.readdir(fullPath)
Gets the contents of fullPath
and returns a Promise. The Promise will resolve with an array of DirectoryEntry
objects (see below).
fs.mkdir(fullPath)
Creates a directory at fullPath
and returns a Promise.
fs.rmdir(fullPath)
Removes the directory at fullPath
, recursively removing any files/subdirectories contained within. Returns a Promise that will resolve when the fullPath is removed.
DirectoryEntry
A DirectoryEntry
object is resolved from fs.readdir
and represents either a file or a directory. A DirectoryEntry instance contains these properties/methods:
DirectoryEntry#path
The path
property is the full path (including file name) for the given file/directory entry.
DirectoryEntry#name
The name
of the given entry, either the file or directory name.
DirectoryEntry#dir
The given directory that the file/directory sits in.
DirectoryEntry#type
The type
of the entry, either file or directory.
DirectoryEntry#readFile()
A convenience method for calling readFile(fileName)
. Throws a TypeError if the entry is not of type
file.
License
BSD 2 Clause