diff --git a/backend/server.js b/backend/server.js index b720b78..c5865cf 100644 --- a/backend/server.js +++ b/backend/server.js @@ -923,12 +923,32 @@ app.get('/api/files/download', authMiddleware, async (req, res) => { message: '文件下载失败: ' + error.message }); } + // 发生错误时关闭存储连接 + if (storage) { + storage.end().catch(err => console.error('关闭存储连接失败:', err)); + } + }); + + // 在传输完成后关闭存储连接 + stream.on('close', () => { + console.log('[下载] 文件传输完成,关闭存储连接'); + if (storage) { + storage.end().catch(err => console.error('关闭存储连接失败:', err)); + } }); stream.pipe(res); + + + } catch (error) { console.error('下载文件失败:', error); + + // 如果stream还未创建或发生错误,关闭storage连接 + if (storage) { + storage.end().catch(err => console.error('关闭存储连接失败:', err)); + } if (!res.headersSent) { res.status(500).json({ success: false,