基于vue+electron實(shí)現(xiàn)文件下載打開wps預(yù)覽
下載事件
win.webContents.downloadURL(url)
觸發(fā)session的will-download事件
win.webContents.session.on('will-download', (event, downloadItem, webContents) => { // 設(shè)置文件保存路徑 // 如果用戶沒有設(shè)置保存路徑,Electron將使用默認(rèn)方式來確定保存路徑(通常會(huì)提示保存對(duì)話框) item.setSavePath(savePath) item.on('updated', (event, state) => { // 監(jiān)聽下載過程, state有兩種情況 // interrupted 下載被中斷,可恢復(fù) // progressing 下載進(jìn)行中,可獲取下載進(jìn)度 if (state === 'interrupted') { // 可恢復(fù)下載 } else if (state === 'progressing') { if (downloadItem.isPaused()) { console.log('Download is paused') } else { // 可以根據(jù)字節(jié)大小設(shè)置進(jìn)度條 console.log(`Total bytes: ${downloadItem.getTotalBytes()}`) console.log(`Received bytes: ${downloadItem.getReceivedBytes()}`) } } }) item.once('done', (event, state) => { // 下載結(jié)束 if (state === 'completed') { // 下載成功 console.log('Download successfully') // 用應(yīng)用程序打開文件 openFile(downloadItem.getSavePath()) } else { // state為cancelled或interrupted // 下載取消或下載已經(jīng)中斷,無法恢復(fù) console.log(`Download failed: ${state}`) } // 這里可將下載結(jié)束的狀態(tài)傳回給渲染進(jìn)程 win.webContents.send('downstate', state) }) })
shell 使用默認(rèn)應(yīng)用程序管理文件和 url,提供與桌面集成相關(guān)的功能
shell.openPath(path) 以桌面的默認(rèn)方式打開給定的文件。
function openFile(filePath) { const path = require('path'); shell.openPath(path.join(filePath)); }
到此這篇關(guān)于基于vue+electron實(shí)現(xiàn)文件下載打開wps預(yù)覽的文章就介紹到這了,更多相關(guān)vue+electron實(shí)現(xiàn)wps預(yù)覽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx部署前端Vue項(xiàng)目的步驟、常見問題與解決方案
在現(xiàn)代Web開發(fā)中,Vue.js成為前端開發(fā)者構(gòu)建單頁應(yīng)用的熱門框架,Nginx以其高性能和穩(wěn)定性,成為部署Vue項(xiàng)目的理想選擇,這篇文章主要介紹了Nginx部署前端Vue項(xiàng)目的步驟、常見問題與解決方案,需要的朋友可以參考下2024-09-09Vite3結(jié)合Svelte3使用@import導(dǎo)入scss樣式
這篇文章主要為大家介紹了Vite3結(jié)合Svelte3使用@import導(dǎo)入scss樣式實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Vue實(shí)現(xiàn)用戶沒有登陸時(shí),訪問后自動(dòng)跳轉(zhuǎn)登錄頁面的實(shí)現(xiàn)思路
這篇文章主要介紹了Vue實(shí)現(xiàn)用戶沒有登陸時(shí),訪問后自動(dòng)跳轉(zhuǎn)登錄頁面,定義路由的時(shí)候配置屬性,這里使用needLogin標(biāo)記訪問頁面是否需要登錄,本文通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Vue?Steam同款登錄驗(yàn)證數(shù)字輸入框功能
這篇文章主要介紹了Vue?Steam同款登錄驗(yàn)證數(shù)字輸入框功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03Vue.extend實(shí)現(xiàn)組件庫message組件示例詳解
這篇文章主要為大家介紹了Vue.extend實(shí)現(xiàn)組件庫message組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07在IDEA中Debug調(diào)試VUE項(xiàng)目的詳細(xì)步驟
idea竟然有一個(gè)神功能很多朋友都不是特別清楚,下面小編給大家?guī)砹嗽贗DEA中Debug調(diào)試VUE項(xiàng)目的詳細(xì)步驟,感興趣的朋友一起看看吧2021-10-10