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

NextJS使用Image组件拉取Strapi图片报上游响应无效错误如何解决

1 Next.js 配置校验
  • 检查next.config.js中的图片远程规则配置,Next 13+ 已废弃旧版domains配置,必须使用images.remotePatterns完整匹配Strapi服务的协议、域名、端口、路径规则,参考配置如下:
/** @type {import('next').NextConfig} */
const nextConfig = {
  images: {
    remotePatterns: [
      // 本地开发Strapi配置示例
      {
        protocol: 'http',
        hostname: 'localhost',
        port: '1337',
        pathname: '/uploads/**',
      },
      // 生产环境Strapi配置示例
      {
        protocol: 'https',
        hostname: '你的Strapi生产服务域名',
        pathname: '/uploads/**',
      }
    ],
  },
}
module.exports = nextConfig
  • 确认未配置错误的自定义images.loader,无特殊需求保持默认内置图片优化逻辑即可。
2 Strapi 服务与资源校验
  • 直接在浏览器地址栏输入你要加载的图片完整URL,确认可以正常访问,如果直接访问也报错,说明是Strapi侧问题,和Next.js无关。
  • 检查Strapi公众角色的媒体访问权限:进入Strapi后台→设置→用户与权限插件→角色→公众,勾选upload插件下的find、findOne权限并保存,否则未登录状态无法访问媒体资源。
  • 确认图片地址拼接正确:Strapi接口返回的媒体资源路径默认是相对路径(如/uploads/xxx.png),需要手动拼接Strapi服务域名前缀后再传给Image组件的src属性,不能直接传相对路径。
3 Image 组件传参校验
  • 检查src属性传入的地址是否有多余转义字符、空格,或者缺少http/https协议头,必须传入完整绝对路径。
  • 确认width、height属性正确传入,或者使用fill属性时父容器已设置position: relative,非法尺寸参数会触发图片优化服务400错误。
  • App Router下的新版Image组件已废弃layout属性,不要传入废弃参数,改用fill、sizes等属性实现布局需求。
4 快速定位验证

给Image组件添加unoptimized属性跳过Next.js图片优化逻辑,如果添加后图片可以正常加载,说明问题出在Next.js图片优化服务配置上,优先排查第一步的next.config.js配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:45:02