修复filesystem模式取消下载不删除文件

This commit is contained in:
mtvpls
2026-03-07 20:09:07 +08:00
parent bc25791fd9
commit fc9d7a67f9
3 changed files with 49 additions and 10 deletions
+15 -6
View File
@@ -304,6 +304,21 @@ export async function DELETE(request: NextRequest) {
const downloader = getDownloader();
// 如果任务正在下载,先标记为取消状态,等待下载停止
const downloadPromise = activeDownloads.get(taskId);
if (downloadPromise) {
// 将任务状态设置为 error,这样下载器会停止下载
task.status = 'error';
task.errorMessage = '任务已被删除';
tasks.set(taskId, task);
// 从活跃下载列表中移除
activeDownloads.delete(taskId);
// 等待一小段时间,让下载操作有机会停止
await new Promise(resolve => setTimeout(resolve, 500));
}
// 删除文件
await downloader.deleteTask(task);
@@ -311,12 +326,6 @@ export async function DELETE(request: NextRequest) {
tasks.delete(taskId);
saveTasks(); // 持久化任务
// 如果正在下载,等待下载完成后再删除
const downloadPromise = activeDownloads.get(taskId);
if (downloadPromise) {
activeDownloads.delete(taskId);
}
return NextResponse.json({ message: '任务已删除' });
} catch (error) {
console.error('删除任务失败:', error);