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

使用Postman获取商品图片失败:媒体类型无效/不支持求解决方案

问题:Postman获取商品图片时提示“unsupported or invalid media type”错误

我尝试通过Postman获取商品图片,即使已在请求头中添加Content-Type: application/json,仍提示“unsupported or invalid media type”错误,相关代码如下:

export const readPhotoController = async(req,res) => {
    try{
        const product = await Product.findById(req.params.pid).select("photo")
        console.log(product.photo.data)
        if(product.photo.data){
            res.set("Content-type", product.photo.content)
            return res.status(200).json(product.photo.data)
        }
    } catch(err){
        console.log(err)
        res.status(500).json({
            success: false,
            message: "Error in fetching photo",
            err
        })
    }
}

解决方案

  • 核心问题:用res.json()返回图片二进制数据是错误的。json()方法会把数据序列化为JSON格式,但图片是二进制流,应该用res.send()返回原始二进制内容。
  • 修正代码:将返回图片的代码行替换为:
    return res.status(200).send(product.photo.data)
    
  • 请求头调整:移除Postman中手动添加的Content-Type: application/json请求头。你的代码已经通过res.set("Content-type", product.photo.content)设置了正确的图片MIME类型(比如image/jpeg、image/png),Postman会自动识别响应格式,手动设置JSON类型反而会导致请求格式不匹配。
  • 额外验证:确认product.photo.content字段存储的是正确的图片MIME类型,而非无效值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:57:05