electron下载文件,文件另存为的方法

electron中下载文件的方法如下:
首先通过remote.getCurrentWindow()方法获取到当前窗口对象win,然后通过win.webContents.downloadURL()方法下载文件。

let filePath = '';//需要下载文件的路径
const win = remote.getCurrentWindow();
win.webContents.downloadURL(filePath);

如果要将文件另存为,可以增加一个右键菜单,点击右键将文件另存为
例子如下:

<a href="https://www/baidu.com/1.zip" oncontextmenu="contextmenu(event,this)">下载</a>
<script>
    function contextmenu(event,obj){
        let filePath = obj.href;//获取到下载文件的路径
        //创建右键菜单
        const Menu = remote.Menu;
        const MenuItem = remote.MenuItem;
        const menu = new Menu();
        let menuItem1 = new MenuItem({label: '另存为', click: ()=>{
            win.webContents.downloadURL(filePath)
        }});
        menu.append(menuItem1);
        e.preventDefault();//阻止默认行为
        x = e.x;//鼠标右键点击的横坐标
        y = e.y;//鼠标右键点击的纵坐标
        menu.popup({x:x,y:y});
        return false;
    }
</script>

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: