imagenes.js 1.57 KB
const path = require('path')

router.get('/imagenes/:nombre', (req, res) => {

  var options = {
    root: path.join(__dirname, '/../img'),
    dotfiles: 'deny',
    headers: {
      'x-timestamp': Date.now(),
      'x-sent': true
    }
  }

  res.sendFile(req.params.nombre, options, err => {
    if (err) console.log(err);
  });
});

router.post('/imagenes/guardar', (req, res) => {

  let base64 = req.body.base64.split(';base64,').pop();
  let path = `${__dirname}/../img/${req.body.name}`;

  require('fs').writeFile(path, base64, {encoding: 'base64'} , err => {

    if (err) {

      console.log(err);
      res.status(500).send('Hubo un error');
    }
  });

  knex('ARTICULOS')
    .where({
      CodArt: req.body.codigo,
      CodSec: req.body.sector
    })
    .then(articulo => {

      let idArticulo = articulo[0].id;

      knex('ARTICULOS_IMAGEN')
        .where('id_articulo', idArticulo)
        .del();

      knex('ARTICULOS_IMAGEN')
        .insert({
          id_articulo: idArticulo,
          imagen: req.body.name
        })
        .then(() => {
          res.status(200).send({});
        })

    });

});

router.post('/imagen/borrar', (req, res) => {

  let deleted = false
  let path = `${__dirname}/../img/${req.body.name}`;

  knex('ARTICULOS_IMAGEN')
    .where('id_articulo', req.body.id_articulo)
    .andWhere('id', req.body.id)
    .update({
      id_articulo: 0,
    })
    .then(() => {
      try {
        require('fs').unlinkSync(path);
        deleted = true;
        res.status(200).send(deleted);
      } catch (err) { }
    });
});

module.exports = router;