Инициируйте загрузку всплывающего окна из node.js API / response /

0

У меня есть API для загрузки файлов

    itemsRouter.route('/download/:id/:category/:type/:price/:name')
    .get(function(req,res){
        var currentDownloadIndex=0;
        if(req.session.username){
            // var uri = url.parse(req.url).id;
            var filename = path.join(process.cwd(),'/uploads/files/'+ req.params.category+'/'+req.params.id+'.'+req.params.type);
            path.exists(filename, function(exists) {
                if(!exists) {

                    //file doesn't exist
                    res.redirect('/');
                } else {
                    //if (fs.statSync(filename).isDirectory())
                    //    filename += '/Justin Bieber - What Do You Mean.mp4';
                 try {
                    var stat = fs.statSync(filename);
                    res.writeHeader(200,{"Content-Length":stat.size});
                    var fReadStream = fs.createReadStream(filename);
                    fReadStream.pipe(res);       
                    if(!(req.session.items[req.params.name]==req.params.name)){
                    req.session.price=parseFloat(req.session.price)+parseFloat(req.params.price);
                    req.session.items[req.params.name]=req.params.name;
                    currentDownloadIndex=currentDownloadIndex+1

                    }

                    // Todo : Generate a report after each success full download 
                    }
                     catch (error) {
                     if(currentDownloadIndex==1){
                    req.session.price=parseFloat(req.session.price)-parseFloat(req.params.price);
                    req.session.items[req.session.items.length]=(req.params.name);

                     }   

                    }

                }
            });
        }else {
            res.redirect('/');
        }

    });

Это отлично работает для видеофайлов, просто загружает файл в браузере, однако, когда файл PDF загружается, он открывается в браузере, и мне это не удобно, может ли кто-нибудь показать мне, как инициировать загрузку без каких-либо проблем
благодаря

  • 0
    предоставить заголовок типа содержимого вашего типа файла.
  • 0
    только что закончил тестирование и снова загрузил его в браузер, но на этот раз с ошибкой.
Теги:
rest
http

1 ответ

1

Добавьте заголовок типа контента как "application/pdf".

  • 0
    спасибо, дай мне посмотреть
  • 0
    Спасибо сработало
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню