datauri v4.1.0
Node.js Module and CLI to generate Data URI scheme.
The data URI scheme is a uniform resource identifier (URI) scheme that provides a way to include data in-line in web pages as if they were external resources.
from: Wikipedia
MODULE
npm install datauri
Getting started
By default, datauri module returns a promise, which is resolved with data:uri
string or rejected with read file error:
const datauri = require('datauri');
const content = await datauri('test/myfile.png');
console.log(content);
//=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
Callback style and meta data
const datauri = require('datauri');
datauri('test/myfile.png', (err, content, meta) => {
if (err) {
throw err;
}
console.log(content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.mimetype); //=> "image/png"
console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.buffer); //=> file buffer
});
CSS parser
const datauriCSS = require('datauri/css');
await datauriCSS('test/myfile.png');
//=> "\n.case {\n background-image: url('data:image/png; base64,iVBORw..."
await datauriCSS('test/myfile.png', {
className: 'myClass',
width: true,
height: true
});
//=> adds image width and height and custom class name
Synchronous calls
const Datauri = require('datauri/sync');
const meta = Datauri('test/myfile.png');
console.log(meta.content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.mimetype); //=> "image/png"
console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.buffer); //=> file buffer
From a Buffer
If you already have a file Buffer, that's the way to go:
const DatauriParser = require('datauri/parser');
const parser = new DatauriParser();
const buffer = fs.readFileSync('./hello');
parser.format('.png', buffer); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
From a string
const DatauriParser = require('datauri/parser');
const parser = new DatauriParser();
parser.format('.png', 'xkcd'); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
Contribute
$ npm install
To run test specs
$ npm test
ChangeLog
Requirements
Node.js 10+
Previous Node versions and deprecated features:
Node.js 8
npm install --save datauri@3
docs: https://github.com/data-uri/datauri/blob/v3.0.0/docs/datauri.md
Node.js 4+
npm install --save datauri@2
docs: https://github.com/data-uri/datauri/blob/v2.0.0/docs/datauri.md
License
MIT License
(c) Data-URI.js
(c) Helder Santana
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
6 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago