From 0061d837ecd97aabbfb1d2ce4dc1943219afa42e Mon Sep 17 00:00:00 2001 From: Dev Team Date: Tue, 20 Jan 2026 22:24:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DOSS=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E6=96=87=E4=BB=B6=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 问题 删除单个文件时使用DeleteObjectsCommand导致阿里云OSS报错: "Missing Some Required Arguments." ## 修复 - 改用DeleteObjectCommand删除单个文件 - 修复storage.js:1224的delete方法 - 与之前修复的rename方法保持一致 ## 影响 - ✅ 文件删除功能现在正常工作 - ✅ 与重命名功能使用相同的删除命令 - ✅ 完全兼容阿里云OSS **Bug数量:** 1个 **修改文件:** 1个 --- backend/storage.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/storage.js b/backend/storage.js index 9091d98..6214736 100644 --- a/backend/storage.js +++ b/backend/storage.js @@ -1216,17 +1216,15 @@ class OssStorageClient { return { size: totalDeletedSize }; } else { - // 删除单个文件 + // 删除单个文件(使用DeleteObjectCommand) // 获取文件大小 const size = statResult.size || 0; totalDeletedSize = size; - const command = new DeleteObjectsCommand({ + const { DeleteObjectCommand } = require('@aws-sdk/client-s3'); + const command = new DeleteObjectCommand({ Bucket: bucket, - Delete: { - Objects: [{ Key: key }], - Quiet: false - } + Key: key }); await this.s3Client.send(command);