Have ideas to improve npm?Join in the discussion! »

    datauri
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.0 • Public • Published


    datauri


    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 Build Status

    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 install

    To run test specs

    $ npm test

    ChangeLog

    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

    Install

    npm i datauri

    DownloadsWeekly Downloads

    280,522

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    9.05 kB

    Total Files

    14

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar