2017-08-15 66 views
-1

我有网址:http://localhost:9999/file/bongda.PNG下载文件2

我使用的NodeJS服务于公众的文件:

application.use(express.static(path.join(__dirname, 'uploads'))); 

application.get('/file/:name', function (req, res, next) { 

    var options = { 
    root: __dirname + '/uploads/', 
    dotfiles: 'deny', 


    headers: { 
     'x-timestamp': Date.now(), 
     'x-sent': true 
    } 
    }; 
    console.log('Express server listening downloads '); 
    var fileName = req.params.name; 
    res.type('png'); 
    res.sendFile(fileName, options, function (err) { 
    if (err) { 
     next(err); 
    } else { 
     console.log('Sent:', fileName); 
    } 
    }); 

}); 

我想从URL

下载文件

我使用<a href="window.location.href='http://localhost:9999/file/bongda.PNG'">123123</a>

<a href="http://localhost:9999/file/bongda.PNG">123123</a> 

但它不成功。 请帮我吗?

+0

有什么错误信息? – Adam

+0

无信息丢 – user3089993

+0

http://imgur.com/a/1csrt – user3089993

回答

0

你已经错过了javascript:从HREF:

<a href="javascript:window.location.href='http://localhost:9999/file/bongda.PNG'">123123</a> 

如果您想强制浏览器下载文件,而不是打开它,下面的行应添加到您的后端代码:

res.setHeader('Content-disposition', 'attachment; filename=' + fileName); 
+0

:(.no打开链接不下载 – user3089993

+0

@ user3089993,我已经扩展了答案,你应该再发一个头文件。 – Adam

+0

no .not runing :( – user3089993

0
<a href="http://localhost:9999/video.mp4" download> Dowload Video </a> 

我使用HTML5的href。它的OK