2015-11-04 3 views
0

У меня есть этот файл скачать APIИнициировать загрузки выскакивают из Node.js 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

содержит заголовок типа содержимого вашего типа файла. – px5x2

+0

только что закончил тестирование, и он снова загрузил его в браузере, но с ошибкой на этот раз. –

ответ

1

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

+0

спасибо, Позвольте мне посмотреть –

+0

Спасибо, это сработало –

+0

Тогда ответ может быть принят;) – px5x2

Смежные вопросы