From c68c1a1964ceb1ec0c924f95451b6a8f1ce3a989 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 29 Dec 2025 02:03:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Denhance=20API=E4=B8=AD?= =?UTF-8?q?image=E5=AD=97=E6=AE=B5=E5=8F=AF=E8=83=BD=E6=98=AFbase64?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E8=80=8C=E9=9D=9EURL=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B7=BB=E5=8A=A0URL=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/enhance/route.ts | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/app/api/enhance/route.ts b/app/api/enhance/route.ts index adbb7a6..0578e23 100644 --- a/app/api/enhance/route.ts +++ b/app/api/enhance/route.ts @@ -436,16 +436,23 @@ export async function POST(request: NextRequest) { // 返回的是base64 enhancedImageBase64 = taskResult.data.image_base64; } else if (taskResult.data.image) { - // 返回的是URL,需要下载 - const imageResponse = await fetch(taskResult.data.image); - if (!imageResponse.ok) { - return NextResponse.json( - { error: "变清晰处理失败", detail: "无法下载处理后的图片" }, - { status: 500 } - ); + // 检查是否是URL(以http://或https://开头) + const imageData = taskResult.data.image; + if (typeof imageData === "string" && (imageData.startsWith("http://") || imageData.startsWith("https://"))) { + // 返回的是URL,需要下载 + const imageResponse = await fetch(imageData); + if (!imageResponse.ok) { + return NextResponse.json( + { error: "变清晰处理失败", detail: "无法下载处理后的图片" }, + { status: 500 } + ); + } + const imageBuffer = await imageResponse.arrayBuffer(); + enhancedImageBase64 = Buffer.from(imageBuffer).toString("base64"); + } else { + // 返回的是base64字符串(直接使用) + enhancedImageBase64 = imageData; } - const imageBuffer = await imageResponse.arrayBuffer(); - enhancedImageBase64 = Buffer.from(imageBuffer).toString("base64"); } else { return NextResponse.json( { error: "变清晰处理失败", detail: "轮询结果未包含图片数据" },