单击wav链接

时间:2016-06-08 14:30:51

标签: angularjs node.js file audio audacity

当我的网站用户点击指向.wav文件的链接时,是否可以强制打开Audacity?

我在我的网站上有这样的想法:

<a href="link/to/wav/on/server">Click to Listen this awesome track</a>

我使用AngularJs作为前端和NodeJ作为后端服务器。 wav位于NodeJs服务器的子目录中。

1 个答案:

答案 0 :(得分:0)

您无法强制计算机自行启动Auda​​city,这取决于用户的偏好。您可以做的是,提示将文件下载到客户端,浏览器可能会建议他通过处理文件扩展名的应用程序列表打开它或下载它。你可以这样做:

var mime = require('mime'),
    fs = require('fs');

app.get('link/to/wav/on/server', function(req, res){

  var file = 'filelocationOnTheServer.wav';

  res.setHeader('Content-disposition', 'attachment; filename=nameYouWantToGiveit.wav');
  res.setHeader('Content-type', 'audio/wav'); // This will make the browser to use the most appropriate app according to it's preference.
  // res.setHeader('Content-type', 'application/octet-stream'); // This will never match to anything and will push the browser to ask the user what to do and to download it.

  fs.createReadStream(file).pipe(res);
});