This simple module is designed to be an abstraction for file storage. By default, it saves files to disk in a specified directory, but it can easily be overridden to save files to anywhere you want, e.g. a database.
storageDirectory- The directory on the local disk where files will be stored. Usenullto disable local disk storage.
const FileManager = require('file-manager');
const Path = require('path');
let manager = new FileManager(Path.join(__dirname, 'data'));Returns true if either a storage directory is set, or if save and read handlers have been registered.
filename- Obviouscontents- Either aBuffer, or some other value that will have.toString()called on it, then it will be converted to aBufferby interpreting the string as UTF-8
Saves a file. Returns a Promise that will be fulfilled once the file is saved, or rejected if there's an error.
Alias: writeFile
files- An object where keys are filenames and values are file contents
Saves multiple files. Returns a Promise that will be fulfilled once all files are saved, or rejected if there's an error saving any file
Alias: writeFiles
filename- Obvious
Reads a single file. Returns a Promise that fulfills to its content, as a Buffer. Rejects if there's an error or the file doesn't exist.
filenames- Array of filenames
Reads multiple files. Returns a Promise that fulfills to an array containing objects of this structure:
filename- The name of this filecontents- The content of this file, if reading succeedederror- AnErrorobject, if there was an error reading this file (e.g. it doesn't exist)
This function can never reject.
You can register your own save/read handlers by attaching event listeners.
filename- The filename of the file we want to readcallback- A function you should call once this file's contents are available, or an error occurrederr- AnErrorobject if there was an error reading this file (e.g. it doesn't exist).nullif no error.contents- ABuffercontaining the file's content, if reading succeeded
Emitted when a file is requested to be read.
filename- The filename of the file we want to savecontents- The content we want to save to this file, as aBuffercallback- A function you should call once this file has been saved, or an error occurrederr- AnErrorobject if there was an error saving this file.nullif no error.
Emitted when a file is requested to be saved.
The local disk storage directory location can be changed at any time by assigning to the directory property.