Skip to content

jaywcjlove/image2uri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image To URI

Buy me a coffee NPM Downloads Build & Test npm version Coverage Status

Convert image file to data URI. Support .png,.gif,.jpg,.jpeg,.bm,.bmp,.webp,.ico,.svg.

Install

This package is ESM only: Node 12+ is needed to use it and it must be import instead of require.

npm i image2uri
const recursiveReaddirFiles = await import('image2uri');

// Fix compiling in typescript.
// https://github.com/microsoft/TypeScript/issues/43329#issuecomment-922544562
const { getExt, recursiveReaddirFiles } = await (Function('return import("image2uri")')()) as Promise<typeof import("image2uri")>;

Basic Usage

import image2uri from "image2uri";

console.log(image2uri('./example.bmp'));
// data:image/bmp;base64,Qk0YCAAAAAAAADYAAAAoAAAAGAAAABwAAAABABgAAAAAAOIHAAA....
console.log(image2uri('./example.jpg'));
// data:image/jpeg;base64,Qk0YCAAAAAAAADYAAAAoAAAAGAAAABwAAAABABgAAAAAAOIHAAA....

const uri = await image2uri('https://avatars.githubusercontent.com/u/1680273?v=4', { ext: '.apng' });
// data:image/apng;base64,/9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDc
const avatar = await image2uri('https://avatars.githubusercontent.com/u/1680273?v=4');
// /9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDc

API

export declare const validUrl: (url: string) => boolean;
export declare const extTypeMap: {
    '.png': string;
    '.apng': string;
    '.gif': string;
    '.jpg': string;
    '.jpeg': string;
    '.bm': string;
    '.bmp': string;
    '.webp': string;
    '.ico': string;
    '.svg': string;
};
export type ExtType = keyof typeof extTypeMap;
export default function image2uri(file: string, options?: {
    ext?: string;
}): string | Promise<string>;

Development

npm run watch # Listen compile .ts files.
npm run build # compile .ts files.

npm run start

Related

Contributors

As always, thanks to our amazing contributors!

Made with action-contributors.

License

Licensed under the MIT License.