Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以javascript从浏览器(客户端站点)中的url强制下载youtube视频_Javascript_Node.js_Youtube Api - Fatal编程技术网

以javascript从浏览器(客户端站点)中的url强制下载youtube视频

以javascript从浏览器(客户端站点)中的url强制下载youtube视频,javascript,node.js,youtube-api,Javascript,Node.js,Youtube Api,我正在youtube视频下载网站上工作,该网站使用基于节点的服务器站点。我正在使用名为ytdl-core的npm包,该模块返回下载链接。但是,当我点击该链接时,它会将我重定向到“视频预览”而不是“触发下载” 我的问题是,如何通过单击按钮将该视频强制下载到客户端浏览器?如果您使用的是express,使用它可能会有所帮助。它将沿着这条路线工作 res.download(downloadLink, downloadTitle, function(err){ if (err) { // Ha

我正在youtube视频下载网站上工作,该网站使用基于
节点的服务器站点。我正在使用名为
ytdl-core
npm
包,该模块返回下载链接。但是,当我点击该链接时,它会将我重定向到“视频预览”而不是“触发下载”


我的问题是,如何通过单击按钮将该视频强制下载到客户端浏览器?

如果您使用的是express,使用它可能会有所帮助。它将沿着这条路线工作

res.download(downloadLink, downloadTitle, function(err){
  if (err) {
    // Handle error, but keep in mind the response may be partially-sent
    // so check res.headersSent
  } else {
    // decrement a download credit, etc.
  }
});

祝你好运!希望这有帮助

我发现一个非常简单的解决方案是,您需要在html代码中添加属性
“download='true'
!如下所示

<a href='yourdownloadlink.com/example' download='true'>force download!</a>

是的,但我想让用户在浏览器上下载视频,在这种情况下,视频下载url显示预览而不是触发下载。。。
res.download(downloadLink, downloadTitle, function(err){
  if (err) {
    // Handle error, but keep in mind the response may be partially-sent
    // so check res.headersSent
  } else {
    // decrement a download credit, etc.
  }
});
<a href='yourdownloadlink.com/example' download='true'>force download!</a>