const connection = require('../conf/connection.js'); const express = require('express') var app = express(); var xlsx = require('node-xlsx'); var fs = require('fs'); var busboy = require('connect-busboy'); var path = require('path'); const readXlsxFile = require('read-excel-file/node'); app.use(busboy()); function query(consulta) { return new Promise(function(resolve, reject) { connection.query(`${consulta}`, (error, results, files) => { if (error) reject(error); resolve(results); }); }) } function corregir(cad){ var recor = String.fromCharCode(13); cad = cad.split(recor); let nuevocad=""; for(let i=0; i { //console.log(`Este es el renglon: ${rows}`); for(let i=1; i < rows.length ; i++) { try{ let titulo = corregir(rows [i][0]); let autor = corregir(rows [i][1]); let categoria = rows [i][2]; let paginas = rows [i][3]; let isbn = rows [i][4]; let precio = rows [i][5]; let edicion = corregir(rows [i][6]); let year = rows [i][7]; let descripcion = corregir(rows [i][11]); let version = rows [i][8]; let imagen = rows [i][10]; let pdfVis = rows [i][12]; let sqlString = `INSERT INTO Libro values ( null, '${isbn}' , '${titulo}', '${categoria}', '${autor}', ${paginas}, '${edicion}', '${precio}', '${version}', '${descripcion}', ${year}); `; try{ await query(sqlString); } catch (error){ console.log(`string : ${sqlString}`); console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`); new TypeError (`Error al insertar en la base de datos msj: ${error}`); return; } sqlString = `SELECT LAST_INSERT_ID() as idLibro;`; let sqlAnswer = await query(sqlString); sqlAnswer = sqlAnswer[0]; let idLibro = sqlAnswer.idLibro; sqlString = `INSERT INTO Imagen values (null, ${idLibro}, '${imagen}' );`; try{ await query(sqlString); } catch (error){ console.log(`string : ${sqlString}`); console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`); new TypeError (`Error al insertar en la base de datos msj: ${error}`); return; } sqlString = `INSERT INTO Visualizacion values (null, ${idLibro}, '${pdfVis}' );`; try{ await query(sqlString); }catch (error){ console.log(`string : ${sqlString}`); console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`); new TypeError (`Error al insertar en la base de datos msj: ${error}`); return; } } catch(error){ console.log(` **** Hay un error: ${error}`); } } }); return; } catch (error){ console.log(`string : ${sqlString}`); console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`); new TypeError (`Error al insertar en la base de datos msj: ${error}`); return; } } app.post('/cargaLibro', async(req, res) => { var fstream; try{ console.log(`Entro`); req.pipe(req.busboy); req.busboy.on('file',async function (fieldname, file, filename) { console.log("Uploading: " + filename); let saveTo = path.join('.', `/routes/ArchivosCarga/cargaLibro.xlsx`); console.log('Uploading: ' + saveTo); file.pipe(fs.createWriteStream(saveTo)); await readExecel(`cargaLibro.xlsx`); res.status(200).json({error: false, msj: `Se inserto con exito`}); }); } catch(error){ console.log(`Np se pudo cargar el libro`); res.status(400).json({error: true, msj: `No se pudo cargar el libro`}); } }); // module.exports = app;