Updated: backend demo

This commit is contained in:
buchslava
2015-10-16 11:45:29 +03:00
parent a117a30c93
commit 494b9f93ca
3 changed files with 44 additions and 1 deletions

2
.gitignore vendored
View File

@@ -19,3 +19,5 @@ npm-debug.log
/components/**/*.js.map
/logs
!/demo/components/file-upload/file-catcher.js

View File

@@ -12,7 +12,8 @@ let tabDesc:Array<any> = [
{
heading: 'Simple',
ts: require('!!prismjs?lang=typescript!./file-upload/simple-demo.ts'),
html: require('!!prismjs?lang=markup!./file-upload/simple-demo.html')
html: require('!!prismjs?lang=markup!./file-upload/simple-demo.html'),
js: require('!!prismjs?lang=javascript!./file-upload/file-catcher.js')
}
];
@@ -38,6 +39,11 @@ tabDesc.forEach(desc => {
<pre class="language-typescript"><code class="language-typescript" ng-non-bindable>${desc.ts}</code></pre>
</div>
</tab>
<tab heading="Backend Demo">
<div class="card card-block panel panel-default panel-body">
<pre class="language-javascript"><code class="language-javascript" ng-non-bindable>${desc.js}</code></pre>
</div>
</tab>
</tabset>
</div>
</div>

View File

@@ -0,0 +1,35 @@
var express = require('express');
var Busboy = require('busboy');
var path = require('path');
var fs = require('fs');
var app = express();
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '!put your host here!');
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();
});
});
busboy.on('finish', function () {
res.end('ok');
});
req.pipe(busboy);
});
app.listen(process.env.PORT || 3000);