fix: 修复FormData Buffer转换时chunk类型错误,确保所有chunk都转换为Buffer
This commit is contained in:
parent
477d84accc
commit
f239642716
@ -296,12 +296,22 @@ export async function POST(request: NextRequest) {
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => controller.abort(), 60000);
|
||||
|
||||
// 将FormData转换为Buffer(form-data包是stream,需要pipe或使用getBuffer)
|
||||
// 将FormData转换为Buffer(form-data包是stream)
|
||||
console.log("[Enhance API] 转换FormData为Buffer...");
|
||||
const formDataBuffer = await new Promise<Buffer>((resolve, reject) => {
|
||||
const chunks: Buffer[] = [];
|
||||
formData.on("data", (chunk: Buffer) => {
|
||||
chunks.push(chunk);
|
||||
formData.on("data", (chunk: any) => {
|
||||
// 确保chunk是Buffer类型
|
||||
if (Buffer.isBuffer(chunk)) {
|
||||
chunks.push(chunk);
|
||||
} else if (typeof chunk === "string") {
|
||||
chunks.push(Buffer.from(chunk, "utf-8"));
|
||||
} else if (chunk instanceof Uint8Array) {
|
||||
chunks.push(Buffer.from(chunk));
|
||||
} else {
|
||||
console.warn("[Enhance API] 未知的chunk类型:", typeof chunk, chunk);
|
||||
chunks.push(Buffer.from(String(chunk), "utf-8"));
|
||||
}
|
||||
});
|
||||
formData.on("end", () => {
|
||||
console.log("[Enhance API] FormData stream结束,chunks数量:", chunks.length);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user