基于vue+electron实现文件下载打开wps预览

 更新时间:2023年08月21日 10:57:44   作者:Vivqst  
这篇文章主要给大家介绍了基于vue+electron实现文件下载打开wps预览,文中有详细的代码示例供大家借鉴参考,感兴趣的同学可以参考阅读下

下载事件

win.webContents.downloadURL(url)

触发session的will-download事件

win.webContents.session.on('will-download', (event, downloadItem, webContents) => {
	// 设置文件保存路径
    // 如果用户没有设置保存路径,Electron将使用默认方式来确定保存路径(通常会提示保存对话框)
    item.setSavePath(savePath)
	item.on('updated', (event, state) => {
	// 监听下载过程, state有两种情况
	// interrupted 下载被中断,可恢复
	// progressing 下载进行中,可获取下载进度
     	if (state === 'interrupted') {
      	 // 可恢复下载
      	} else if (state === 'progressing') {
	        if (downloadItem.isPaused()) {
	        	console.log('Download is paused')
	        } else {
	        // 可以根据字节大小设置进度条
        	console.log(`Total bytes: ${downloadItem.getTotalBytes()}`)      
        	console.log(`Received bytes: ${downloadItem.getReceivedBytes()}`)
        	}
      	}
   	})
	item.once('done', (event, state) => {
	// 下载结束
      if (state === 'completed') {
      	// 下载成功
        console.log('Download successfully')
        // 用应用程序打开文件
        openFile(downloadItem.getSavePath())
      } else {
      	// state为cancelled或interrupted
      	// 下载取消或下载已经中断,无法恢复
        console.log(`Download failed: ${state}`)
      }
      // 这里可将下载结束的状态传回给渲染进程
      win.webContents.send('downstate', state)
    })
})

shell 使用默认应用程序管理文件和 url,提供与桌面集成相关的功能

shell.openPath(path) 以桌面的默认方式打开给定的文件。

function openFile(filePath) {
	const path = require('path');
  	shell.openPath(path.join(filePath));
}

到此这篇关于基于vue+electron实现文件下载打开wps预览的文章就介绍到这了,更多相关vue+electron实现wps预览内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue获取当前激活路由的方法

    vue获取当前激活路由的方法

    下面小编就为大家分享一篇vue获取当前激活路由的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue实现下拉框筛选表格数据

    vue实现下拉框筛选表格数据

    这篇文章主要为大家详细介绍了vue实现下拉框筛选表格数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • vscode中eslint插件的配置(prettier配置无效)

    vscode中eslint插件的配置(prettier配置无效)

    这篇文章主要介绍了vscode中eslint插件的配置(prettier配置无效),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 使用 Vue.js 仿百度搜索框的实例代码

    使用 Vue.js 仿百度搜索框的实例代码

    本篇文章主要介绍了使用 Vue.js 仿百度搜索框的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Vue 前端导出后端返回的excel文件方式

    Vue 前端导出后端返回的excel文件方式

    这篇文章主要介绍了Vue 前端导出后端返回的excel文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue3中Suspense异步加载组件的问题

    Vue3中Suspense异步加载组件的问题

    在我们日常开发中,有些组件里面加载非常慢,导致我们路由跳转的时候回出现卡顿情况,这篇文章主要介绍了Vue3: Suspense异步加载组件,需要的朋友可以参考下
    2023-12-12
  • 手把手教你用vue3开发一个打砖块小游戏

    手把手教你用vue3开发一个打砖块小游戏

    这篇文章主要给大家介绍了关于如何利用vue3开发一个打砖块小游戏的相关资料,通过一个小游戏实例可以快速了解vue3开发小游戏的流程,需要的朋友可以参考下
    2021-07-07
  • uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex)

    uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex)

    这篇文章主要介绍了uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 详解Vue.js之视图和数据的双向绑定(v-model)

    详解Vue.js之视图和数据的双向绑定(v-model)

    本篇文章主要介绍了Vue.js之视图和数据的双向绑定(v-model),使用v-model指令,使得视图和数据实现双向绑定,有兴趣的可以了解一下
    2017-06-06
  • Vue中常用的鼠标移入移出事件详解

    Vue中常用的鼠标移入移出事件详解

    这篇文章主要给大家介绍了关于Vue中常用的鼠标移入移出事件的相关资料,鼠标移入移出事件在 Vue 中可以通过@mouseenter和@mouseleave来绑定,需要的朋友可以参考下
    2023-07-07

最新评论