A a NPM module designed for converting images to binary data, storing them in IndexedDB, and retrieving and converting them back to images. It's an ideal solution for web applications that require efficient image handling and storage using browser technologies.
ImageBinDB
is a cutting-edge TypeScript NPM module, uniquely designed to revolutionize the way web applications and Progressive Web Apps (PWAs) handle images locally. It's the perfect solution for scenarios where traditional methods fall short.
In the landscape of web development, efficiently managing and processing images locally in a browser or PWA has always been challenging. ImageBinDB
steps in as a game-changer, offering unparalleled functionalities:
- Effortless Image to Binary Conversion: Seamlessly convert images to binary data, bypassing the usual complexities of local image handling.
- Robust IndexedDB Storage: Leverage the power of IndexedDB for reliable and efficient storage and retrieval of your binary image data.
- Smooth Binary to Image Conversion: Transform binary data back into images effortlessly, maintaining the integrity and quality of your visuals.
npm install imagebindb
import {
imageToBinary,
storeImage,
retrieveImage,
binaryToImageURL,
} from "imagebindb";
const imageFile = document.getElementById("input").files[0];
imageToBinary(imageFile).then((binaryData) => {
// Handle the binary data
});
storeImage("myDatabase", "myImageKey", binaryData).then(() =>
console.log("Image stored successfully")
);
retrieveImage("myDatabase", "myImageKey").then((binaryData) => {
if (binaryData) {
// Handle the retrieved binary data
}
});
const imageUrl = binaryToImageURL(binaryData);
// Use the image URL (e.g., as the src of an img element)
This section details the functions available in the ImageBinDB
module, along with their descriptions and usage.
Converts an image file to binary data.
Parameters:
image
:File
- The image file to convert.
Returns:
Promise<ArrayBuffer>
- A promise that resolves with the binary data.
Stores binary data in IndexedDB.
Parameters:
dbName
:string
- The name of the IndexedDB database.key
:string
- The key under which to store the data.data
:ArrayBuffer
- The binary data to be stored.
Returns:
Promise<void>
Retrieves binary data from IndexedDB.
Parameters:
dbName
:string
- The name of the IndexedDB database.key
:string
- The key under which the data is stored.
Returns:
Promise<ArrayBuffer | undefined>
- A promise that resolves with the retrieved binary data or undefined if the key is not found.
Converts binary data to an image URL.
Parameters:
binaryData
:ArrayBuffer
- The binary data to be converted.
Returns:
string
- The image URL created from the binary data.
Contributions are welcome! Please open an issue or submit a pull request for any features or fixes.
This project is licensed under the MIT License - see the LICENSE file for details.