https://github.com/jahredhope/promise-file-reader
Wraps FileReader in a Promise
https://github.com/jahredhope/promise-file-reader
Last synced: 3 months ago
JSON representation
Wraps FileReader in a Promise
- Host: GitHub
- URL: https://github.com/jahredhope/promise-file-reader
- Owner: jahredhope
- License: isc
- Created: 2016-06-09T06:51:55.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-26T08:49:02.000Z (about 3 years ago)
- Last Synced: 2025-04-14T19:06:48.076Z (3 months ago)
- Language: JavaScript
- Size: 14.6 KB
- Stars: 30
- Watchers: 2
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# promise-file-reader
Wraps [FileReader](https://developer.mozilla.org/en-US/docs/Web/API/FileReader) in a Promise
[](https://www.npmjs.com/package/promise-file-reader)## Install
```
npm install --save promise-file-reader
```## Usage
### Basic syntax
```javascript
const PromiseFileReader = require('promise-file-reader');PromiseFileReader.readAsDataURL(fileData)
.then(newImage)
.catch(err => console.error(err));
```### Example: file input
```javascript
import {readAsDataURL, readAsText, readAsArrayBuffer} from 'promise-file-reader';function newImage(imageDataUrl) {
...
}
function newTextFile(text) {
...
}
function loadedArrayBuffer(arrayBuffer) {
...
}// e.g.
const fileInput = document.getElementById('file-input');
fileInput.addEventListener("change", handleFiles, false);
function handleFiles(event) {
const fileMetaData = event.target.files[0];if(fileMetaData) {
if (/^image/.test(fileMetaData.type)) {
readAsDataURL(fileMetaData)
.then(newImage)
.catch(err => console.error(err));
} else {
readAsText(fileMetaData)
.then(newTextFile)
.catch(err => console.error(err));
}
// or
readAsArrayBuffer(fileMetaData)
.then(loadedArrayBuffer)
.catch(err => console.error(err));
}
}
```