Commit f05687679c5c546c61fd215a08985ac9a23be756

Authored by Wesnydy Ribeiro
1 parent 15037cba
Exists in exchange and in 1 other branch coppe

Change download approach

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
... ... @@ -12,6 +12,7 @@ var express = require('express')
12 12 */
13 13 router
14 14 .post('/', videoController.create)
  15 + .get('/:file', videoController.download)
15 16 .get('/status/:id', videoController.status)
16 17  
17 18 module.exports = router;
... ...