Package Exports
- datauri
- datauri/parser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (datauri) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 
For Node 8+ compatibility:
npm install --save datauri
Getting started
By default, datauri module returns a promise, which is resolved with data:uri string or rejected with file read 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.getCSS()); //=> "\n.case {\n background-image: url('data:image/png;base64,iVBORw..."
console.log(meta.getCSS({
class: "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.getCSS()); //=> "\n.case {\n background-image: url('data:image/png;base64,iVBORw..."
console.log(meta.getCSS("myClass")); //=> "\n.myClass {\n background-image: url('data:image/png;base64,iVBORw..."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 installTo run test specs
$ npm testChangeLog
Requirements
Node.js 8+
Previous Node versions and deprecated features:
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