diff --git a/demo/components/file-upload/file-catcher.js b/demo/components/file-upload/file-catcher.js index 1063caf..ff858e8 100644 --- a/demo/components/file-upload/file-catcher.js +++ b/demo/components/file-upload/file-catcher.js @@ -1,35 +1,49 @@ var express = require('express'); -var Busboy = require('busboy'); -var path = require('path'); +var multer = require('multer'); var fs = require('fs'); - var app = express(); +var DIR = './uploads/'; + +var upload = multer({dest: DIR}); + app.use(function (req, res, next) { - res.setHeader('Access-Control-Allow-Origin', '!put your host here!'); + res.setHeader('Access-Control-Allow-Origin', 'http://valor-software.github.io'); res.setHeader('Access-Control-Allow-Methods', 'POST'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); res.setHeader('Access-Control-Allow-Credentials', true); next(); }); -app.post('/api', function (req, res) { - var fstream; - var files = []; - var busboy = new Busboy({headers: req.headers}); - busboy.on('file', function (fieldname, file, filename) { - fstream = fs.createWriteStream(__dirname + '/uploads/' + filename); - file.pipe(fstream); - fstream.on('close', function () { - files.push(filename); - file.resume(); - }); - }); +app.use(multer({ + dest: DIR, + rename: function (fieldname, filename) { + return filename + Date.now(); + }, + onFileUploadStart: function (file) { + console.log(file.originalname + ' is starting ...'); + }, + onFileUploadComplete: function (file) { + console.log(file.fieldname + ' uploaded to ' + file.path); + } +})); - busboy.on('finish', function () { - res.end('ok'); - }); - req.pipe(busboy); +app.get('/api', function (req, res) { + res.end('file catcher example'); }); -app.listen(process.env.PORT || 3000); +app.post('/api', function (req, res) { + upload(req, res, function (err) { + if (err) { + return res.end(err.toString()); + } + + res.end('File is uploaded'); + }); +}); + +var PORT = process.env.PORT || 3000; + +app.listen(PORT, function () { + console.log('Working on port ' + PORT); +}); diff --git a/package.json b/package.json index 59c6402..81a5587 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ }, "homepage": "https://github.com/valor-software/ng2-file-upload#readme", "dependencies": { - "angular2": "^2.0.0-alpha.42", - "ng2-bootstrap": "^0.40.0", + "angular2": "2.0.0-alpha.42", + "ng2-bootstrap": "0.42.0", "reflect-metadata": "0.1.2", "ts-loader": "0.5.6", "zone.js": "0.5.8" diff --git a/webpack.config.js b/webpack.config.js index e857d52..6b64ce5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -110,6 +110,7 @@ var config = { loader: 'ts', query: { ignoreDiagnostics: [ + 6053, // TS2305 -> Module 'ng' has no exported member 2305, // TS2307 -> Cannot find external module