diff --git a/api/file/index.js b/api/file/index.js new file mode 100644 index 0000000..3bd337d --- /dev/null +++ b/api/file/index.js @@ -0,0 +1,16 @@ +const URL = require('url'); +const do_wb = require('../../src/util'); +fs = require('fs'); + +module.exports = function (req, res) { + res.setHeader('Access-Control-Allow-Origin', '*'); + const url = URL.parse(req.url, true); + + if (!url.query.filename) return res.status(400).send("Must specify filename"); + if (url.query.filename){ + fs.readFile(url.query.filename, (err, body) => { + if (err) return res.status(500).send(err.message || err); + do_wb(req, body, url, res); + }); + } +}; \ No newline at end of file diff --git a/api/save/index.js b/api/save/index.js index ed7ffab..8b149ce 100644 --- a/api/save/index.js +++ b/api/save/index.js @@ -10,16 +10,16 @@ module.exports = function (req, res) { /* parse form data */ const form = formidable({ multiples: true, maxFileSize: 2 * 1024 * 1024 }); + /*create temp file*/ const newFile = () => { - const tmpobj = tmp.fileSync(); - console.log('File: ', tmpobj.name); - console.log('Filedescriptor: ', tmpobj.fd); + const tmpobj = tmp.fileSync({postfix: '.xlsx'}); return tmpobj.name; } + const writeFile = (fileName, file) => { - // console.log(file); - fs.writeFileSync(fileName + '.xlsx', file, (err) => { + fs.writeFile(fileName, file, (err) => { if (err) return res.status(500).send(err.message || err); + res.status(201).send(fileName); }); } form.parse(req, (err, fields, files) => { diff --git a/api/server.js b/api/server.js index 5a5ff6c..c801072 100644 --- a/api/server.js +++ b/api/server.js @@ -3,6 +3,7 @@ const app = express(); const data = require('./data/index'); const upload = require('./upload/index'); const save = require('./save/index'); +const file = require('./file/index'); const bodyParser = require('body-parser'); const port = 3000; @@ -14,6 +15,7 @@ app.use(express.static('public')); app.use('/api/data', data); app.use('/api/upload', upload); app.use('/api/save', save); +app.use('/api/file', file); app.listen(port, () => { console.log(`Listening on port: ${port}`);