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

使用React从Strapi获取图片无法展示、富文本插图失效问题求助

Strapi图片无法正常加载&富文本图片失效解决方案

1. 接口请求参数修正

Strapi v4默认不会返回关联的媒体字段内容,需要主动添加populate参数拉取图片详情:

// 原错误请求(末尾多空格+无populate参数)
const {loading , error , data } = useFetch('http://localhost:1337/reviews/ ' + id)
// 修正后请求
const {loading , error , data } = useFetch(`http://localhost:1337/reviews/${id}?populate=*`)

如果仅需要拉取图片字段,也可以指定populate[image]=*减少返回数据体积。

2. 图片路径拼接修正

Strapi返回的单图字段路径存储在data.image.url下,默认格式为/uploads/xxx.jpg,拼接时避免重复添加斜杠:

const ApiUrl = 'http://localhost:1337'
// 拼接路径前做去重斜杠处理
const imgUrl = ApiUrl + data.image?.url.replace(/^\/+/, '/')
// 渲染
<img src={imgUrl} alt={data.naam} />

如果你的image字段设置为多图类型,需要取数组下标的url:data.image[0]?.url

3. 富文本插入图片失效修复

Strapi富文本编辑器中插入的图片默认是相对路径,渲染前需要统一替换为绝对路径:

// 假设富文本内容存储在data.content中
const formatRichText = (content) => {
  return content.replace(/src="\//g, `src="${ApiUrl}/`)
}
// 渲染富文本时使用处理后的内容
<div dangerouslySetInnerHTML={{__html: formatRichText(data.content)}} />

4. 权限校验

进入Strapi后台:设置→用户与权限插件→角色→public,确认upload插件的find、findOne权限已开启,否则匿名访问会返回403错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:36:02