promisify-file-reader
Version:
Promise File Reader
134 lines (98 loc) • 3.29 kB
Markdown
# Promisify File Reader
[](https://unpkg.com/promisify-file-reader/dist/)
[](https://www.npmtrends.com/promisify-file-reader)
[](https://unpkg.com/promisify-file-reader/dist/)
[](https://www.jsdelivr.com/package/npm/promisify-file-reader)
[](https://travis-ci.org/fisker/promisify-file-reader)
[](https://codecov.io/github/fisker/promisify-file-reader)
[](https://github.com/fisker/promisify-file-reader/blob/master/license)
[](http://makeapullrequest.com)
## Usage
```html
<script src="https://unpkg.com/promisify-file-reader"></script>
```
```html
<script type="module">
import PromisifyFileReader from 'https://unpkg.com/promisify-file-reader?module'
</script>
```
## Files
```text
dist/
├─ index.cjs ( CommonJS )
├─ index.js ( UMD )
├─ index.min.js ( UMD, compressed )
├─ index.mjs ( ES Module )
└─ index.min.mjs ( ES Module, compressed )
```
## API
### Prototype
supported all `FileReader` methods:
- `readAsArrayBuffer`
- `readAsBinaryString`
- `readAsDataURL`
- `readAsText`
> `FileReader#readAsBinaryString` is not available in some browser, like IE 10
>
> we use arrayBuffer to binaryString to support this method
example:
```js
const fileReader = new PromisifyFileReader()
const result = await fileReader.readAsArrayBuffer(file)
```
### Static methods
in fact `new PromisifyFileReader()` is not really required, all methods can use as static
- `readAsArrayBuffer`
- `readAsBinaryString`
- `readAsDataURL`
- `readAsText`
example:
```js
const result = await PromisifyFileReader.readAsArrayBuffer(file)
```
### Shortcuts
you can also strip the `readAs` prefix
- `arrayBuffer`
- `binaryString`
- `dataURL`
- `text`
Notice: shortcuts are **NOT** available in prototype
example:
```js
const result = await PromisifyFileReader.arrayBuffer(file)
// => same as readAsArrayBuffer
```
## ES Module
the ES Module build exports
```js
{
// default
PromisifyFileReader as default,
// named
arrayBuffer,
binaryString,
dataURL,
text,
readAsArrayBuffer,
readAsBinaryString,
readAsDataURL,
readAsText,
}
```
import example:
```js
// import default
import PromisifyFileReader from 'promisify-file-reader'
// import named
import {
arrayBuffer,
// ...
} from 'promisify-file-reader'
// import both
import PromisifyFileReader, {
arrayBuffer,
// ...
} from 'promisify-file-reader'
```
## Related
- [promisify-file](https://github.com/fisker/promisify-file)