Updated: backend demo
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -19,3 +19,5 @@ npm-debug.log
|
||||
/components/**/*.js.map
|
||||
|
||||
/logs
|
||||
|
||||
!/demo/components/file-upload/file-catcher.js
|
||||
|
||||
@@ -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>
|
||||
|
||||
35
demo/components/file-upload/file-catcher.js
Normal file
35
demo/components/file-upload/file-catcher.js
Normal 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);
|
||||
Reference in New Issue
Block a user