Miss any of our Open RFC calls?Watch the recordings here! »

save-file

2.3.1 • Public • Published

save-file unstable Build Status Greenkeeper badge

Save file in node/browser. In browser it prompts save file dialog, in node it creates a file.

  • Provides common interface for both node/browser.
  • Fixes dialog race in browser − when multiple save-files are called at the same time.
  • Handles any types of input data − Buffer, ArrayBuffer, ArrayBufferView, File, Blob, data-uri string, ImageData etc.

Usage

npm install save-file

// const save = require('save-file')
import { save } from 'save-file'
 
await save(data, 'example.mp3')
 
const saveSync = require('save-file/sync')
saveSync(otherData, 'example2.mp3')

API

await save(data|filename, filename|data)

Save data source to the filename destination, return actual saved ArrayBuffer. saveSync performs synchronous call.

data type can be:

  • Buffer, ArrayBuffer
  • File, Blob
  • dataURI, base64 string
  • TypedArray, Array
  • ImageData, AudioBuffer
  • Object
  • ndarray
  • etc.

See to-array-buffer for the full list. The data is expected to be encoded to target format, for that purpose see image-encode, audio-encode etc.

Mime type is detected from the file extension/data type automatically.

Credits & related

  • file-saver − create download file dialog in browser.
  • write − write file in node, create directories if none.
  • to-array-buffer — turn anything into ArrayBuffer.
  • simple-mime — tiny mime types detector.

Copyright

© Dmitry Yv 2018. MIT Licensed.

Install

npm i save-file

DownloadsWeekly Downloads

15,118

Version

2.3.1

License

MIT

Unpacked Size

7.11 kB

Total Files

8

Last publish

Collaborators

  • avatar