Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com HTML5 MODE

Pessoal, estou com uma dúvida: Com uma aplicação que desenvolvi que realiza upload de arquivos e gera um link para serem baixados, quando eu habilito o HTML5 MODE no node.js ele não libera o download, simplesmente redirecionando para a página principal. Quando eu removo o app.get('/*'... ele volta à funcionar. Como posso contornar isto? Segue abaixo código:

routes\upload.js

 app.route('/uploads/:file')
        .get(controller.getFile);

 app.get('/*', function(req, res) {
    res.sendFile(path.resolve('public/index.html'));
 });

controller\upload.js

 controller.getFile = function (req, res, next) {
        var file = req.params.file
            , path = __dirname + '\\..\\..\\uploads\\' + file;
        res.download(path);
    };

index.html

 <base href="/">
1 resposta
solução!

Pessoal, consegui resolver.

Criei um controller que redireciona para o caminho e vi que estava usando o método get de forma errada. Corrigido ficou assim:

/routes/upload.js

  app.route('/*')
      .get(controller.redireciona);

/controllers/upload.js

    controller.redireciona = function(req,res) {
        res.redirect('/#' + req.originalUrl);
    };

dentro do link inseri também o parâmetro

target="_self"

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software