Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaywcjlove/image2uri
Convert image file to data URI.
https://github.com/jaywcjlove/image2uri
image image2uri jpeg nodejs png uri
Last synced: 3 months ago
JSON representation
Convert image file to data URI.
- Host: GitHub
- URL: https://github.com/jaywcjlove/image2uri
- Owner: jaywcjlove
- License: mit
- Created: 2020-08-15T10:21:06.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T02:47:48.000Z (4 months ago)
- Last Synced: 2024-10-29T10:38:56.418Z (4 months ago)
- Topics: image, image2uri, jpeg, nodejs, png, uri
- Language: TypeScript
- Homepage: https://jaywcjlove.github.io/image2uri/
- Size: 133 KB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Image To URI
===[](https://jaywcjlove.github.io/#/sponsor)
[](https://www.npmjs.com/package/image2uri)
[](https://github.com/jaywcjlove/image2uri/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/image2uri)
[](https://jaywcjlove.github.io/image2uri/lcov-report/)Convert image file to data URI. Support `.png`,`.gif`,`.jpg`,`.jpeg`,`.bm`,`.bmp`,`.webp`,`.ico`,`.svg`.
### Install
This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c): Node 12+ is needed to use it and it must be import instead of require.
```bash
npm i image2uri
``````js
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;
```### Basic Usage
```js
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
```ts
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;
```### Development
```bash
npm run watch # Listen compile .ts files.
npm run build # compile .ts files.npm run start
```### Related
- [recursive-readdir-files](https://github.com/jaywcjlove/recursive-readdir-files) Node.js module to list all files in a directory or any subdirectories.
## Contributors
As always, thanks to our amazing contributors!
Made with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).
### License
Licensed under the MIT License.