diff --git a/src/main/loader/epubLoader.ts b/src/main/loader/epubLoader.ts index 8364d12f..ba9a1c6b 100644 --- a/src/main/loader/epubLoader.ts +++ b/src/main/loader/epubLoader.ts @@ -1,9 +1,11 @@ import { RecursiveCharacterTextSplitter } from '@langchain/textsplitters' import { BaseLoader } from '@llm-tools/embedjs-interfaces' import { cleanString } from '@llm-tools/embedjs-utils' +import { app } from 'electron' import Logger from 'electron-log' import EPub from 'epub' import * as fs from 'fs' +import path from 'path' /** * epub 加载器的配置选项 @@ -157,7 +159,9 @@ export class EpubLoader extends BaseLoader((resolve, reject) => { + writeStream.on('finish', resolve) + writeStream.on('error', reject) + }) + + // 从临时文件读取内容 + this.extractedText = fs.readFileSync(tempFilePath, 'utf-8') + + // 删除临时文件 + fs.unlinkSync(tempFilePath) + + // 只添加一条完成日志 + Logger.info(`[EpubLoader] 电子书 ${this.metadata?.title || path.basename(this.filePath)} 处理完成`) } catch (error) { Logger.error('[EpubLoader] Error in extractTextFromEpub:', error) throw error