在javascript中从一个给定的URL下载文件的wget相当于什么?

时间:2011-11-23 02:46:54

标签: javascript download wget

“wget http://www.example.com/file.doc”将该文件下载到本地磁盘。

javascript中的上述内容是什么?例如,请考虑以下html代码段。

<html>
<head>
   <script language="JavaScript">
      function download_file() {
         var url = "http://www.example.com/file.doc"
         //
         // Question: 
         //
         // what should be done here to download 
         // the file in the url?
         //
      }
   </script>
</head>
<body>
   <input type="button" value="Download" onclick="download_file()">
</body>
</html>

请建议符合所有浏览器的解决方案。

Sangeeth。

3 个答案:

答案 0 :(得分:2)

为什么不使用:

 function download_file() {
   var url = "http://www.example.com/file.doc"
   window.location = url;
 }

请参阅https://developer.mozilla.org/en/DOM/window.location

如果您需要先在新窗口/标签中打开它,请使用:

 function download_file() {
   var url = "http://www.example.com/file.doc"
   window.open(url);
 }

请参阅https://developer.mozilla.org/en/DOM/window.open

答案 1 :(得分:2)

经过一个多月的探索,在朋友的帮助下,我们能够找到以下内容。

托管文件的网站不允许我们使用window.location = url;window.open(url);

下载文件

最后,我们必须使用data-downloadurl的{​​{1}}支持,如下所示

HTML5

我们将此html嵌入到主机html中,当点击该链接时,它会触发下载。

答案 2 :(得分:0)

对于这个问题的每个回答者总是要记住的第一件事就是从java脚本执行wget shell命令。我几乎可以肯定那是不可能的,因为 主要的安全风险。

你几乎需要一个将命令发送到命令行的ajax 通过php或其他脚本语言通过ajax ......

你可能会用http://www.phantomjs.org/之类的东西来实现 我说的可能是因为我从某处读过它。