diff --git a/app/api/enhance/route.ts b/app/api/enhance/route.ts index 2747768..f2e1355 100644 --- a/app/api/enhance/route.ts +++ b/app/api/enhance/route.ts @@ -256,21 +256,24 @@ export async function POST(request: NextRequest) { const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 60000); - // 将FormData转换为ArrayBuffer(fetch需要) - const formDataBuffer = await new Promise((resolve, reject) => { + // 将FormData转换为Buffer(form-data包是stream) + const formDataBuffer = await new Promise((resolve, reject) => { const chunks: Buffer[] = []; formData.on("data", (chunk: Buffer) => chunks.push(chunk)); - formData.on("end", () => { - const buffer = Buffer.concat(chunks); - resolve(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)); - }); + formData.on("end", () => resolve(Buffer.concat(chunks))); formData.on("error", reject); }); + // 将Buffer转换为ArrayBuffer用于fetch + const arrayBuffer = formDataBuffer.buffer.slice( + formDataBuffer.byteOffset, + formDataBuffer.byteOffset + formDataBuffer.byteLength + ); + response = await fetch(enhanceUrl, { method: "POST", headers, - body: formDataBuffer, + body: arrayBuffer, signal: controller.signal, });