Commit f05687679c5c546c61fd215a08985ac9a23be756
1 parent
15037cba
Exists in
exchange
and in
1 other branch
Change download approach
Showing
3 changed files
with
25 additions
and
4 deletions
Show diff stats
translate-api/app.js
... | ... | @@ -15,7 +15,7 @@ var express = require('express'); |
15 | 15 | var bodyParser = require('body-parser'); |
16 | 16 | |
17 | 17 | var db = require('./config/db'); |
18 | -var settings = require('./config/settings'); | |
18 | +// var settings = require('./config/settings'); | |
19 | 19 | |
20 | 20 | var bundle = require('./routes/bundle'); |
21 | 21 | var translate = require('./routes/translate'); |
... | ... | @@ -32,7 +32,7 @@ app.use(bodyParser.urlencoded({ extended: true })); |
32 | 32 | /** |
33 | 33 | * Public directory. |
34 | 34 | */ |
35 | -app.use('/video', express.static(settings.contentsPath)); | |
35 | +// app.use('/video', express.static(settings.contentsPath)); | |
36 | 36 | |
37 | 37 | /** |
38 | 38 | * Allow cross origin requests. | ... | ... |
translate-api/controllers/video.js
... | ... | @@ -8,10 +8,13 @@ |
8 | 8 | /** |
9 | 9 | * Required libs. |
10 | 10 | */ |
11 | -var shortid = require('shortid') | |
11 | +var fs = require('fs') | |
12 | + , path = require('path') | |
13 | + , shortid = require('shortid') | |
12 | 14 | , Video = require('../models/video') |
13 | 15 | , amqp = require('../helpers/amqpManager') |
14 | - , error = require('../helpers/error'); | |
16 | + , error = require('../helpers/error') | |
17 | + , settings = require('../config/settings'); | |
15 | 18 | |
16 | 19 | exports.create = function(req, res, next) { |
17 | 20 | if (!req.body.gloss) |
... | ... | @@ -60,6 +63,23 @@ exports.create = function(req, res, next) { |
60 | 63 | }); |
61 | 64 | }; |
62 | 65 | |
66 | +exports.download = function(req, res, next) { | |
67 | + if (!req.params.file) | |
68 | + return error.badRequest('File not specified.', next); | |
69 | + | |
70 | + var videoFile = path.join(settings.contentsPath, req.params.file); | |
71 | + res.download(videoFile, function(err) { | |
72 | + if (err) | |
73 | + return error.notFound('Can\'t find any content.', next); | |
74 | + | |
75 | + fs.unlink(videoFile, function(err) { | |
76 | + if (err) | |
77 | + return console.error('Can\'t remove ' + videoFile); | |
78 | + console.log(videoFile + ' removed.'); | |
79 | + }); | |
80 | + }); | |
81 | +}; | |
82 | + | |
63 | 83 | exports.status = function(req, res, next) { |
64 | 84 | // Receive param id |
65 | 85 | var contentID = req.params.id; | ... | ... |
translate-api/routes/video.js