3.1.0 • Published 7 months ago
file-promisify v3.1.0
file-promisify
Utilities for file and image handling, in Browsers, with Promise.
Installation
Node.js
$ npm install --save file-promisify
Browser via CDN
<script src="https://cdn.jsdelivr.net/npm/file-promisify/dist/index.umd.js"></script>
Usage
import Files from 'file-promisify'
const instance = new Files()
/** open file dialog */
instance.select()
.then(([blob]) => {})
.catch(error => {})
/** open file dialog for selecting multiple files */
instance.select({ multiple: true })
.then(blobs => {})
.catch(error => {})
/** open file dialog for selecting an image file */
instance.select({ accept: 'image/*' })
.then(blob => {
/** wrap image into maximum 128 × 128 pixels */
Files.processImage({ blob, width: 128, height: 128, crop: false })
.then(dataUrl => {})
.catch(error => {})
/** crop image into 128 × 128 pixels exactly */
Files.processImage({ blob, width: 128, height: 128, crop: true })
.then(dataUrl => {})
.catch(error => {})
})
.catch(error => {})
/** open directory dialog for selecting a directory (only webkit) */
instance.selectDirectory()
.then(blobs => {})
.catch(error => {})
API
instance.select({ multiple: [multiple], accept: [accept] })
Open a file dialog.
Parameter | Type | Description | Default |
---|---|---|---|
multiple | Boolean | Multiple selection or not. | false |
accept | String | MIME type accepted. | '*/*' |
- Returns:
Promise<FileList>
instance.selectDirectory()
Open a directory dialog. (only webkit)
- Returns:
Promise<FileList>
Files.processImage({ blob: <blob>, width: [width], height: [height], crop: [crop] })
Process image.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob of image data. | (required) |
width | Number | Target width. | null |
height | Number | Target height. | null |
crop | Boolean | Should crop or not. true for cropping image into dimension exactly, while false for wrapping image into the maximum dimension. | false |
- Returns:
Promise<String>
Files.urlToImage(<url>)
Fetch image URL into Image instance.
Parameter | Type | Description | Default |
---|---|---|---|
url | String | The URL of image. | (required) |
- Returns:
Promise<Image>
Files.blobToDataUrl(<blob>)
Transform Blob to data URL.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob. | (required) |
- Returns:
Promise<String>
Files.dataUrlToBlob(<dataUrl>)
Transform data URL to Blob.
Parameter | Type | Description | Default |
---|---|---|---|
dataUrl | String | The data url. | (required) |
- Returns:
Promise<Blob>
Files.dataUrlToBase64(<dataUrl>)
Transform data URL to Base64 encoded string.
Parameter | Type | Description | Default |
---|---|---|---|
dataUrl | String | The data url. | (required) |
- Returns:
Promise<String>
Files.blobToBase64(<blob>)
Transform Blob to Base64 encoded string.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob. | (required) |
- Returns:
Promise<String>
Files.blobToArrayBuffer(<blob>)
Transform Blob to ArrayBuffer.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob. | (required) |
- Returns:
Promise<ArrayBuffer>
Files.blobToString(<blob>, [encoding])
Transform Blob to string.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob. | (required) |
encoding | String | The encoding. | 'UTF-8' |
- Returns:
Promise<String>
Files.stringToBlob(<string>, [type])
Transform string to Blob.
Parameter | Type | Description | Default |
---|---|---|---|
string | String | The string. | (required) |
type | String | The MIME type. | 'application/octet-stream' |
- Returns:
Promise<Blob>
Files.stringToByteArray(<string>)
Transform string to byte array.
Parameter | Type | Description | Default |
---|---|---|---|
string | String | The string. | (required) |
- Returns:
Promise<Uint8Array>
Files.getImageOrientation(<blob>)
Get image orientation value from Blob.
Parameter | Type | Description | Default |
---|---|---|---|
blob | Blob | The blob of image data. | (required) |
- Returns:
Promise<Number>
Files.getMimeTypeFromDataUrl(<dataUrl>)
Get MIME type from data URL.
Parameter | Type | Description | Default |
---|---|---|---|
dataUrl | String | The data url. | (required) |
- Returns:
Promise<String>