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

Node.js/Express+Cloudinary图片上传API在Postman测试时无响应的诊断与排查求助

Node.js/Express+Cloudinary图片上传API在Postman测试时无响应的诊断与排查求助

大家好,我最近在做一个Node.js/Express后端API,目标是把用户上传的图片传到Cloudinary存储,但在Postman里测试这个接口的时候遇到了大问题——接口完全没有响应,连req.body.data对应的file都打印不出来,endpoint根本不工作,我已经卡了好一会儿了,想请各位帮忙看看哪里出问题了。

我的后端上传API代码

这是我写的上传接口代码,用了asyncHandler来处理异步,逻辑是拿到文件后传到Cloudinary,然后更新用户的头像URL:

app.post(
  '/api/upload/:id',
  asyncHandler(async (req, res) => {
    try {
      const file = req.body.data
      // 这里根本打印不出file,请求就卡着
      console.log(file)
      const uploadResponse = await cloudinary.uploader.upload(
        file.tempFilePath,
        {
          folder: 'profile',
          upload_preset: 'my_media',
          use_filename: true,
        }
      )
      console.log(uploadResponse)
      const { secure_url } = uploadResponse
      const newUser = await userModal.findByIdAndUpdate(req.params.id, {
        image: secure_url,
      })
      newUser.image = secure_url
      res.status(201).json(newUser)
    } catch (error) {
      res.status(400).json(error)
    }
  })
)

Postman测试方式

我在Postman里是这么测试的:选择POST请求,URL填http://localhost:xxx/api/upload/用户ID,然后在Body里选了form-data,新增一个键为data的字段,类型选File,然后选中本地的一张图片文件,发送请求后就一直处于加载状态,没有任何响应返回,后端console里也看不到我加的console.log(file)输出。

已尝试的操作

我之前单独写过一段Node.js代码直接上传图片到Cloudinary,是可以成功的,说明Cloudinary的配置(比如API密钥、cloud name这些)是没问题的,但集成到Express API里就不行了。

想请教各位:

  • 是不是我的API代码里处理文件的方式有问题?比如是不是没用到处理multipart/form-data的中间件?
  • Postman的测试步骤有没有哪里错了?
  • 还有哪些可能的原因会导致接口无响应?

备注:内容来源于stack exchange,提问作者JALAL MOHAMMED RAISAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 13:25:28