From 237ed6ea8be75d4757d4ec33b833fd506ebebe83 Mon Sep 17 00:00:00 2001 From: backuppc Date: Tue, 20 Jan 2026 14:42:44 +0900 Subject: [PATCH] add upload/download function --- App.tsx | 124 +++++++++++++++++++++++++++++++++++++++++++-- backend_proxy.cjs | 76 +++++++++++++++++++++++++++ webftp-backend.exe | Bin 38164504 -> 38167320 bytes 3 files changed, 197 insertions(+), 3 deletions(-) diff --git a/App.tsx b/App.tsx index 5fd064d..dd8f7bc 100644 --- a/App.tsx +++ b/App.tsx @@ -8,6 +8,7 @@ import SettingsModal from './components/SettingsModal'; import SiteManagerModal from './components/SiteManagerModal'; import HelpModal from './components/HelpModal'; import { CreateFolderModal, RenameModal, DeleteModal } from './components/FileActionModals'; +import { formatBytes } from './utils/formatters'; const App: React.FC = () => { // --- State --- @@ -262,7 +263,7 @@ const App: React.FC = () => { case 'success': addLog('success', data.message); - if (connection.connected) { + if (connectionRef.current.connected) { ws?.send(JSON.stringify({ command: 'LIST', path: remote.path })); } ws?.send(JSON.stringify({ command: 'LOCAL_LIST', path: local.path })); @@ -271,6 +272,45 @@ const App: React.FC = () => { case 'sites_list': setSavedSites(data.sites); break; + + case 'transfer_progress': + setQueue(prev => prev.map(item => { + if (item.id === data.id) { + const total = data.bytesOverall; + const current = data.bytes; + const progress = total > 0 ? Math.round((current / total) * 100) : 0; + return { ...item, progress, status: 'transferring', speed: `${formatBytes(current)} transferred` }; + } + return item; + })); + break; + + case 'transfer_success': + setQueue(prev => prev.map(item => { + if (item.id === data.id) { + return { ...item, progress: 100, status: 'completed', speed: 'Completed' }; + } + return item; + })); + addLog('success', data.message); + // Refresh lists + if (data.path) { + ws?.send(JSON.stringify({ command: 'LOCAL_LIST', path: local.path })); + if (connectionRef.current.connected) { + ws?.send(JSON.stringify({ command: 'LIST', path: remote.path })); + } + } + break; + + case 'transfer_error': + setQueue(prev => prev.map(item => { + if (item.id === data.id) { + return { ...item, status: 'failed', speed: data.message }; + } + return item; + })); + addLog('error', data.message); + break; } } catch (e) { console.error("WS Message Error", e); @@ -365,6 +405,74 @@ const App: React.FC = () => { if (wsRef.current) wsRef.current.send(JSON.stringify({ command: 'LOCAL_LIST', path })); }; + const handleDownload = () => { + if (!connection.connected || selectedRemoteIds.size === 0) return; + + selectedRemoteIds.forEach(id => { + const file = remote.files.find(f => f.id === id); + if (file && file.type === FileType.FILE) { + const transferId = `down-${Date.now()}-${Math.random()}`; + const separator = local.path.includes('\\') ? '\\' : '/'; + const cleanPath = local.path.endsWith(separator) ? local.path : local.path + separator; + const localTarget = cleanPath + file.name; + const remoteTarget = remote.path === '/' ? `/${file.name}` : `${remote.path}/${file.name}`; + + // Add to Queue + setQueue(prev => [...prev, { + id: transferId, + direction: 'download', + filename: file.name, + progress: 0, + status: 'queued', + speed: 'Pending...' + }]); + + addLog('command', `DOWNLOAD ${file.name} -> ${localTarget}`); + wsRef.current?.send(JSON.stringify({ + command: 'DOWNLOAD', + localPath: localTarget, + remotePath: remoteTarget, + transferId + })); + } + }); + setSelectedRemoteIds(new Set()); + }; + + const handleUpload = () => { + if (!connection.connected || selectedLocalIds.size === 0) return; + + selectedLocalIds.forEach(id => { + const file = local.files.find(f => f.id === id); + if (file && file.type === FileType.FILE) { + const transferId = `up-${Date.now()}-${Math.random()}`; + const separator = local.path.includes('\\') ? '\\' : '/'; + const cleanPath = local.path.endsWith(separator) ? local.path : local.path + separator; + const localSource = cleanPath + file.name; + const remoteTarget = remote.path === '/' ? `/${file.name}` : `${remote.path}/${file.name}`; + + // Add to Queue + setQueue(prev => [...prev, { + id: transferId, + direction: 'upload', + filename: file.name, + progress: 0, + status: 'queued', + speed: 'Pending...' + }]); + + addLog('command', `UPLOAD ${file.name} -> ${remoteTarget}`); + wsRef.current?.send(JSON.stringify({ + command: 'UPLOAD', + localPath: localSource, + remotePath: remoteTarget, + transferId + })); + } + }); + setSelectedLocalIds(new Set()); + }; + // --- File Action Handlers --- const initiateCreateFolder = (isLocal: boolean) => { if (!isLocal && !connection.connected) return; @@ -744,10 +852,20 @@ const App: React.FC = () => { {/* Middle Actions */}
- -
diff --git a/backend_proxy.cjs b/backend_proxy.cjs index 834e4f6..027bc2c 100644 --- a/backend_proxy.cjs +++ b/backend_proxy.cjs @@ -236,6 +236,82 @@ function startServer() { ws.send(JSON.stringify({ type: 'error', message: `삭제 실패: ${err.message}` })); } break; + + case 'DOWNLOAD': + if (client.closed) { + ws.send(JSON.stringify({ type: 'error', message: 'FTP 연결이 끊어져 있습니다.' })); + return; + } + try { + const { remotePath, localPath, transferId } = data; + + // Progress Handler + client.trackProgress(info => { + ws.send(JSON.stringify({ + type: 'transfer_progress', + id: transferId, + bytes: info.bytes, + bytesOverall: info.bytesOverall, + name: info.name + })); + }); + + await client.downloadTo(localPath, remotePath); + + client.trackProgress(); // Stop tracking + ws.send(JSON.stringify({ + type: 'transfer_success', + id: transferId, + message: '다운로드 완료', + path: localPath + })); + } catch (err) { + client.trackProgress(); // Stop tracking + ws.send(JSON.stringify({ + type: 'transfer_error', + id: data.transferId, + message: `다운로드 실패: ${err.message}` + })); + } + break; + + case 'UPLOAD': + if (client.closed) { + ws.send(JSON.stringify({ type: 'error', message: 'FTP 연결이 끊어져 있습니다.' })); + return; + } + try { + const { remotePath, localPath, transferId } = data; + + // Progress Handler + client.trackProgress(info => { + ws.send(JSON.stringify({ + type: 'transfer_progress', + id: transferId, + bytes: info.bytes, + bytesOverall: info.bytesOverall, + name: info.name + })); + }); + + await client.uploadFrom(localPath, remotePath); + + client.trackProgress(); + ws.send(JSON.stringify({ + type: 'transfer_success', + id: transferId, + message: '업로드 완료', + path: remotePath + })); + } catch (err) { + client.trackProgress(); + ws.send(JSON.stringify({ + type: 'transfer_error', + id: data.transferId, + message: `업로드 실패: ${err.message}` + })); + } + break; } } catch (err) { console.error("오류 발생:", err); diff --git a/webftp-backend.exe b/webftp-backend.exe index 029aaa217b03a88b305011f0a0a008f452d7d5b0..e488ee00a9307dd0fdb24dfb3eddb1a16faf08dc 100644 GIT binary patch delta 48148 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 Q4~zy1gLtP;MuU0&7X!nYPyhe` delta 45421 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

CbcOGN1}rCi@a*yF7?l*0Pv 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 M