@atayahmet/blobify
v1.1.4
Published
A Javascript automation tool to convert file to blob object and vice-versa.
Downloads
13
Readme
Blobify
A Javascript automation tool to convert from html file object to blob object and more capabilities with creating custom helper function.
Getting Started
import { chunk } from '@atayahmet/blobify';
chunk({ chars: stream, slice: 128, type: 'image/jpg' })
Installing
npm i @atayahmet/blobify --save
or
yarn add @atayahmet/blobify
Running the tests
npm test
Built-in Helpers
| Name | Parameter Type | Return | Description | |--------------|----------------|------------------------|-----------------------------------------| | pipe | Function | Blobify class instance | Pipe itarator. | | createBlob | string[] | Blob | Create blob object from chunks. | | chunk | IChunkOptions | Uint8Array[] | Chunk generator. | | base64Encode | File | Promise<string> | HTML5 File object. | | base64Decode | string | any | Base64 encoded data. | | toStream | Blob | Promise<string> | Convert blob object to readable content.|
IChunkOptions
| Name | Type | Description | |--------|----------------------|-------------------------------| | chunks | string or Uint8Array | Data format. | | slice | number (optional) | Per chunk size. (Default 512) | | type | string | File content type. |
Quick Example
Convert the file to uploadable form.
import { pipe, chunk, createBlob, base64Encode } from '@atayahmet/blobify';
const file = document.getElementById('image');
pipe(() => base64Encode(file))
.pipe(stream => chunk({ chars: stream, slice: 128 }))
.pipe(chunks => createBlob(chunks, "image/jpeg"))
.catch(console.error)
.run()
.then(resul => {
console.log(result);
});
Vice versa:
pipe(() => toStream(blob))
.pipe(stream => base64Decode(stream))
.pipe(data => {
// do some maniplation...
return data;
})
.run()
.then(result => {
// ...
});
Built With
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Ahmet ATAY - Initial work
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details