NodeJS:有没有办法从另一台服务器stream式传输文件,而不通过我的pipe道?

我有一个网站,我提供的链接下载/stream在另一台服务器上的媒体文件。 目前我如何设置是类似于以下内容:

download = (req, res) -> song_id = req.params.id download_url = "http://mediaserver.com/#{song_id}" console.log("Returning download from: #{download_url}") res.set('Content-Type', 'audio/mpeg') res.set('Content-Disposition', 'attachment; filename="download.mp3"') request.get(download_url).pipe(res) #For some reason, express.js on a response end event emits a finish #http://www.samcday.com.au/blog/2011/06/27/listening-for-end-of-response-with-nodeexpress-js/ res.on "finish", ()-> console.log("Completed song download") 

然而,我正在寻找一种方法,我可以只返回一个HTTP响应对象,告诉浏览器从相应的服务器而不是我自己的下载它? (可能仍然在更改HTTP标头以允许将文件保存为下载)。

这有可能吗?

TY

只需使用301(永久)或302(临时)redirect与位置标题。

 response.writeHead(302, { 'Location': 'http://someUrlHere' }); 

我不是Express用户,但看起来你可以用res.send(302)在Express中设置状态码。

你不能简单地提供链接到托pipe实际文件的服务器,那么浏览器将单击时下载它们?

例如

 <a href="http://www.assets.com/file.mp3">File</a>