Skip to content

Commit 2b8ccc3

Browse files
committed
feat: Support saving files with string or Uint8Array content in saveFile API
1 parent c0a908a commit 2b8ccc3

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/main/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,12 @@ app.whenReady().then(() => {
223223
return { success: false, cancelled: true }
224224
}
225225

226-
await writeFile(result.filePath!, content, 'utf8')
226+
// Handle both string and Uint8Array/Buffer content
227+
if (typeof content === 'string') {
228+
await writeFile(result.filePath!, content, 'utf8')
229+
} else {
230+
await writeFile(result.filePath!, Buffer.from(content))
231+
}
227232
return { success: true, filePath: result.filePath }
228233
} catch (error) {
229234
console.error('Save file error:', error)

src/preload/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ declare global {
1313
removeStreamListener: (requestId: string) => void
1414
}
1515
saveFile: (options: {
16-
content: string
16+
content: string | Uint8Array
1717
defaultPath: string
1818
filters?: Array<{ name: string; extensions: string[] }>
1919
}) => Promise<{ success: boolean; cancelled?: boolean; filePath?: string; error?: string }>

src/preload/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const api = {
3838
},
3939
// 文件操作API
4040
saveFile: (options: {
41-
content: string
41+
content: string | Uint8Array
4242
defaultPath: string
4343
filters?: Array<{ name: string; extensions: string[] }>
4444
}) => ipcRenderer.invoke('save-file', options),

0 commit comments

Comments
 (0)