From 6e9bde6b6dcb7ad65bec4c3c57ace019a7fc6f21 Mon Sep 17 00:00:00 2001 From: Starsky Wong Date: Sun, 4 May 2025 13:16:06 +0800 Subject: [PATCH] fix the issue of webdav local backup file storage (#5643) fix the issue of unlimited webdav local backup file storage --- src/main/services/BackupManager.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/services/BackupManager.ts b/src/main/services/BackupManager.ts index 5bf8578ea8..ef96529903 100644 --- a/src/main/services/BackupManager.ts +++ b/src/main/services/BackupManager.ts @@ -286,9 +286,18 @@ class BackupManager { const filename = webdavConfig.fileName || 'cherry-studio.backup.zip' const backupedFilePath = await this.backup(_, filename, data) const webdavClient = new WebDav(webdavConfig) - return await webdavClient.putFileContents(filename, fs.createReadStream(backupedFilePath), { - overwrite: true - }) + try { + const result = await webdavClient.putFileContents(filename, fs.createReadStream(backupedFilePath), { + overwrite: true + }) + // 上传成功后删除本地备份文件 + await fs.remove(backupedFilePath) + return result + } catch (error) { + // 上传失败时也删除本地临时文件 + await fs.remove(backupedFilePath).catch(() => {}) + throw error + } } async restoreFromWebdav(_: Electron.IpcMainInvokeEvent, webdavConfig: WebDavConfig) {