JSFiddle - React, Tailwind, and code Playground

JavaScript

var cradle = require('cradle'),
        sys = require('sys')
        fs = require('fs');
 
// Defaults to 127.0.0.1:5984
var conn = new(cradle.Connection)();
var db = conn.database('cradle-upload-download-fail');
 db.create();
 
 // Insert a single document and attach a png
 var filename = 'icon.png';
db.save({name: 'someDoc'}, function (err, res) {
  if (err) console.log('It\'s not saved!', err);
  else{
    db.saveAttachment( 
      res.id,
      res.rev,
      filename,
      'image/png',
      fs.createReadStream(filename),
      function( err, data ){
        if(err){
          console.log(err);
        }else{
          var response = {};
          var streamer = db.getAttachment(data.id,filename);
          streamer.addListener('response', function (res) {
            response.headers = res.headers;
            response.headers.status = res.statusCode;
            response.body = "";
          });
          streamer.addListener('data', function (chunk) { response.body += chunk; });
          streamer.addListener('end', function () {
            fs.writeFile('new-'+filename, response.body, function (err) {
              if (err) throw err;
                console.log('It\'s saved!');
              });
            });
        }
      }
    )};
});