🐛 Fix(custom): fix file selection bug in upload page

This commit is contained in:
Kuingsmile
2025-08-05 15:41:43 +08:00
parent b1f514e80c
commit fe945a0136
6 changed files with 9 additions and 10 deletions

View File

@@ -164,7 +164,6 @@ windowList.set(IWindowList.TRAY_WINDOW, {
options: () => trayWindowOptions, options: () => trayWindowOptions,
callback (window) { callback (window) {
if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) { if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) {
console.log('load setting window from renderer url')
window.loadURL(process.env.ELECTRON_RENDERER_URL) window.loadURL(process.env.ELECTRON_RENDERER_URL)
} else { } else {
window.loadFile(path.join(__dirname, '../render/index.html')) window.loadFile(path.join(__dirname, '../render/index.html'))
@@ -181,7 +180,6 @@ windowList.set(IWindowList.SETTING_WINDOW, {
options: () => settingWindowOptions, options: () => settingWindowOptions,
callback (window, windowManager) { callback (window, windowManager) {
if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) { if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) {
console.log('load setting window from renderer url')
window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#main-page/upload`) window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#main-page/upload`)
} else { } else {
window.loadFile(path.join(__dirname, '../render/index.html'), { window.loadFile(path.join(__dirname, '../render/index.html'), {
@@ -222,7 +220,6 @@ windowList.set(IWindowList.RENAME_WINDOW, {
options: () => renameWindowOptions, options: () => renameWindowOptions,
async callback (window, windowManager) { async callback (window, windowManager) {
if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) { if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) {
console.log('load setting window from renderer url')
window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#rename-page`) window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#rename-page`)
} else { } else {
window.loadFile(path.join(__dirname, '../render/index.html'), { window.loadFile(path.join(__dirname, '../render/index.html'), {
@@ -245,7 +242,6 @@ windowList.set(IWindowList.TOOLBOX_WINDOW, {
options: () => toolboxWindowOptions, options: () => toolboxWindowOptions,
async callback (window, windowManager) { async callback (window, windowManager) {
if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) { if (!app.isPackaged && process.env.ELECTRON_RENDERER_URL) {
console.log('load setting window from renderer url')
window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#toolbox-page`) window.loadURL(`${process.env.ELECTRON_RENDERER_URL}#toolbox-page`)
} else { } else {
window.loadFile(path.join(__dirname, '../render/index.html'), { window.loadFile(path.join(__dirname, '../render/index.html'), {

View File

@@ -1,7 +1,7 @@
import crypto from 'node:crypto' import crypto from 'node:crypto'
import path from 'node:path' import path from 'node:path'
import { clipboard, contextBridge, ipcRenderer, webFrame } from 'electron' import { clipboard, contextBridge, ipcRenderer, webFrame, webUtils } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import yaml from 'js-yaml' import yaml from 'js-yaml'
import mime from 'mime-types' import mime from 'mime-types'
@@ -59,6 +59,9 @@ try {
}, },
ipcRendererRemoveListener: (channel: string, listener: IpcRendererListener) => { ipcRendererRemoveListener: (channel: string, listener: IpcRendererListener) => {
ipcRenderer.removeListener(channel, listener) ipcRenderer.removeListener(channel, listener)
},
showFilePath (file: File) {
return webUtils.getPathForFile(file)
} }
}) })

View File

@@ -42,7 +42,7 @@
@click="setAlwaysOnTop" @click="setAlwaysOnTop"
> >
<PinIcon <PinIcon
:color="isAlwaysOnTop ? '#CE6769' : '#000'" :color="isAlwaysOnTop ? '#CE6769' : '#6B7280'"
:size="14" :size="14"
/> />
</button> </button>

View File

@@ -153,7 +153,7 @@ function ipcSendFiles (files: FileList) {
Array.from(files).forEach(item => { Array.from(files).forEach(item => {
const obj = { const obj = {
name: item.name, name: item.name,
path: item.webkitRelativePath path: window.electron.showFilePath(item)
} }
sendFiles.push(obj) sendFiles.push(obj)
}) })

View File

@@ -69,7 +69,6 @@
ref="fileInput" ref="fileInput"
type="file" type="file"
multiple multiple
accept="image/*"
style="display: none" style="display: none"
@change="onChange" @change="onChange"
> >
@@ -364,7 +363,7 @@ function ipcSendFiles (files: FileList) {
Array.from(files).forEach(item => { Array.from(files).forEach(item => {
const obj = { const obj = {
name: item.name, name: item.name,
path: item.webkitRelativePath path: window.electron.showFilePath(item)
} }
sendFiles.push(obj) sendFiles.push(obj)
}) })

View File

@@ -32,7 +32,8 @@ declare global {
ipcRendererRemoveListener: (channel: string, listener: IpcRendererListener) => void ipcRendererRemoveListener: (channel: string, listener: IpcRendererListener) => void
clipboard: { clipboard: {
writeText: typeof clipboard.writeText writeText: typeof clipboard.writeText
} },
showFilePath: (file: File) => string
} }
node: { node: {
path: { path: {