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,7 +15,7 @@ var express = require('express');
15 var bodyParser = require('body-parser'); 15 var bodyParser = require('body-parser');
16 16
17 var db = require('./config/db'); 17 var db = require('./config/db');
18 -var settings = require('./config/settings'); 18 +// var settings = require('./config/settings');
19 19
20 var bundle = require('./routes/bundle'); 20 var bundle = require('./routes/bundle');
21 var translate = require('./routes/translate'); 21 var translate = require('./routes/translate');
@@ -32,7 +32,7 @@ app.use(bodyParser.urlencoded({ extended: true })); @@ -32,7 +32,7 @@ app.use(bodyParser.urlencoded({ extended: true }));
32 /** 32 /**
33 * Public directory. 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 * Allow cross origin requests. 38 * Allow cross origin requests.
translate-api/controllers/video.js
@@ -8,10 +8,13 @@ @@ -8,10 +8,13 @@
8 /** 8 /**
9 * Required libs. 9 * Required libs.
10 */ 10 */
11 -var shortid = require('shortid') 11 +var fs = require('fs')
  12 + , path = require('path')
  13 + , shortid = require('shortid')
12 , Video = require('../models/video') 14 , Video = require('../models/video')
13 , amqp = require('../helpers/amqpManager') 15 , amqp = require('../helpers/amqpManager')
14 - , error = require('../helpers/error'); 16 + , error = require('../helpers/error')
  17 + , settings = require('../config/settings');
15 18
16 exports.create = function(req, res, next) { 19 exports.create = function(req, res, next) {
17 if (!req.body.gloss) 20 if (!req.body.gloss)
@@ -60,6 +63,23 @@ exports.create = function(req, res, next) { @@ -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 exports.status = function(req, res, next) { 83 exports.status = function(req, res, next) {
64 // Receive param id 84 // Receive param id
65 var contentID = req.params.id; 85 var contentID = req.params.id;
translate-api/routes/video.js
@@ -12,6 +12,7 @@ var express = require('express') @@ -12,6 +12,7 @@ var express = require('express')
12 */ 12 */
13 router 13 router
14 .post('/', videoController.create) 14 .post('/', videoController.create)
  15 + .get('/:file', videoController.download)
15 .get('/status/:id', videoController.status) 16 .get('/status/:id', videoController.status)
16 17
17 module.exports = router; 18 module.exports = router;