feat:文件上传下载

This commit is contained in:
shixiaohua 2024-03-14 08:44:56 +08:00
parent 3f8477aad6
commit a598619e0a
3 changed files with 18 additions and 10 deletions

View File

@ -28,7 +28,7 @@ const readDirLocal=async (filePath) => {
} }
return fileStateList return fileStateList
} }
exports.menuRebuild = (mainWindow) => { exports.menuRebuild = (mainWindow,uploadUtil) => {
return template = [ return template = [
{ {
label: '文件', label: '文件',
@ -105,14 +105,14 @@ exports.menuRebuild = (mainWindow) => {
submenu: [ submenu: [
{ {
label: '同步上传', label: '同步上传',
click: async () => { click: () => {
await shell.openExternal('http://www.huaruyu.com') uploadUtil.upLoadFileUtil(uploadUtil.getActiveFile())
} }
}, },
{ {
label: '同步下载', label: '同步下载',
click: async () => { click: () => {
await shell.openExternal('http://www.huaruyu.com') uploadUtil.downLoadFileUtil(uploadUtil.getActiveFile())
} }
} }
] ]

View File

@ -1,6 +1,6 @@
const COS = require('cos-nodejs-sdk-v5'); const COS = require('cos-nodejs-sdk-v5');
const {dialog} = require('electron') const {dialog} = require('electron')
const {readFileSync,createWriteStream}=require('node:fs') const {readFileSync}=require('node:fs')
const md5 = require("md5"); const md5 = require("md5");
class UploadUtils { class UploadUtils {
@ -17,6 +17,10 @@ class UploadUtils {
constructor(store) { constructor(store) {
this.store = store; this.store = store;
} }
upLoadFileUtil(activeFile){UploadUtils.selfUploadFile(activeFile)}
downLoadFileUtil(activeFile){UploadUtils.selfDownLoadFile(activeFile)}
static selfUploadFile(activeFile){ static selfUploadFile(activeFile){
console.log("cos.uploadFile") console.log("cos.uploadFile")
UploadUtils.cos.uploadFile({ UploadUtils.cos.uploadFile({
@ -53,12 +57,16 @@ class UploadUtils {
}); });
} }
syncActiveFile() { getActiveFile(){
let tableBarItem = JSON.parse(this.store.get("persist:tableBarItem")); let tableBarItem = JSON.parse(this.store.get("persist:tableBarItem"));
if (!tableBarItem) { if (!tableBarItem) {
return; return;
} }
let activeFile = tableBarItem.activeKey?tableBarItem.activeKey.replaceAll('"',""):undefined; return tableBarItem.activeKey?tableBarItem.activeKey.replaceAll('"',""):undefined;
}
syncActiveFile() {
let activeFile = this.getActiveFile();
console.log("activeFile:", activeFile) console.log("activeFile:", activeFile)
if (activeFile) { if (activeFile) {
let dirMessage = JSON.parse(this.store.get("persist:dirMessage")); let dirMessage = JSON.parse(this.store.get("persist:dirMessage"));

View File

@ -4,6 +4,7 @@ const {menuRebuild} = require('./elsrc/TopMenu.js')
const UploadUtils = require("./elsrc/sync/tencent/UploadUtils") const UploadUtils = require("./elsrc/sync/tencent/UploadUtils")
const Store = require('electron-store'); const Store = require('electron-store');
const store = new Store(); const store = new Store();
const uploadUtil = new UploadUtils(store);
const isDev = require('electron-is-dev') const isDev = require('electron-is-dev')
const createWindow = () => { const createWindow = () => {
// Create the browser window. // Create the browser window.
@ -51,7 +52,7 @@ const createWindow = () => {
} }
}) })
Menu.setApplicationMenu(Menu.buildFromTemplate(menuRebuild(win))) Menu.setApplicationMenu(Menu.buildFromTemplate(menuRebuild(win,uploadUtil)))
win.once('ready-to-show', () => { win.once('ready-to-show', () => {
win.show() win.show()
}) })
@ -68,7 +69,6 @@ app.whenReady().then(() => {
if (BrowserWindow.getAllWindows().length === 0) createWindow() if (BrowserWindow.getAllWindows().length === 0) createWindow()
// 同步数据 // 同步数据
}) })
const uploadUtil = new UploadUtils(store);
uploadUtil.syncFile() uploadUtil.syncFile()
ipcMain.handle("saveFileWithName",(listen,args)=>{ ipcMain.handle("saveFileWithName",(listen,args)=>{
console.log("saveFileWithName") console.log("saveFileWithName")