You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Busboy结合Firebase/Firestorage上传图片失败问题求助

图片上传至Firebase时持续报错:Unexpected end of form

将近6周以来,我尝试了Firebase-Admin、Node.js、Busboy、Multer等多种工具组合上传图片到Firebase,但全部失败。甚至求助了ChatGPT插件Grimoire也没能解决,始终抛出同一个错误:

Error uploading: Error: Unexpected end of form
      at Multipart._final (/Users/user/Desktop/project-Functions/functions/node_modules/busboy/lib/types/multipart.js:588:17)
      at prefinish (node:internal/streams/writable:906:14)
      at finishMaybe (node:internal/streams/writable:920:5)
      at Writable.end (node:internal/streams/writable:835:5)
      at onend (node:internal/streams/readable:946:10)
      at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {
    storageErrors: []

我的核心代码逻辑如下(尝试过多种写法,核心逻辑一致):

app.post("/uploadProfilePicture", upload.single("profileImage"), (req, res) => {
    const file = req.file;
    const { originalname, buffer } = file;
    const blob = bucket.file("profile_pictures/" + originalname);
    const blobStream = blob.createWriteStream({
        metadata: {
            contentType: file.mimetype,
        },
    });

    blobStream.on("error", (err) => {
        console.error(err);
        res
            .status(500)
            .send({ message: "Failed to upload image.", error: err.toString() });
    });

    blobStream.on("finish", () => {
        const publicUrl = `https://storage.googleapis.com/${bucket.name}/${blob.name}`;
        res
            .status(200)
            .send({ message: "Image uploaded successfully", url: publicUrl });
    });

    blobStream.end(buffer);
});

内容的提问来源于stack exchange,提问作者lamb p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:29:58