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

博客应用图片加载失败:net::ERR_BLOCKED_BY_ORB问题求助

解决博客图片加载ERR_BLOCKED_BY_ORB及短暂显示后消失问题

关于net::ERR_BLOCKED_BY_ORB错误

这个错误是浏览器的Origin Resource Blocker (ORB) 安全机制触发的,核心是跨域资源加载不符合浏览器安全策略,对应解决办法:

  • 补全图片URL域名:如果API返回的是相对路径(比如/uploads/avatar.jpg),前端直接使用会以当前页面域名拼接,导致路径无效。渲染图片时要手动拼接后端资源域名:
    <img src={`${process.env.REACT_APP_BASE_URL}${post.imageUrl}`} alt="博文图片" />
    
  • 检查后端CORS配置:若图片存储在第三方服务或不同域名服务器,后端必须配置正确的CORS响应头,允许前端域名访问资源。
  • 验证图片URL有效性:复制API返回的图片URL直接在浏览器地址栏打开,确认是否能正常加载,排除后端返回无效地址的情况。

图片短暂显示后消失的问题

发布后短暂显示、刷新就消失,大概率是数据持久化或同步问题:

  • 检查后端发布接口:确认发布时图片文件已成功上传到服务器,且返回的URL是持久化路径(而非临时文件路径)。
  • 强制同步前端数据:发布完成后不要仅依赖本地临时添加的博文数据(临时数据里的图片可能是本地预览路径),要重新调用fetchPosts拉取最新列表:
    const handlePostSubmit = async (newPost) => {
      await axios.post(`${process.env.REACT_APP_BASE_URL}/posts`, newPost);
      // 发布成功后重新获取博文列表
      fetchPosts();
    };
    
  • 禁用请求缓存:浏览器可能缓存了旧的博文数据,在axios.get时添加缓存控制头强制拉取最新数据:
    const response = await axios.get(`${process.env.REACT_APP_BASE_URL}/posts`, {
      headers: { 'Cache-Control': 'no-cache' }
    });
    

额外排查步骤

  1. 在浏览器Network面板查看图片请求的完整URL,确认路径是否正确。
  2. 核对后端返回的posts数据,检查所有图片字段的URL格式是否统一(是否带域名、有无拼写错误)。
  3. 直接访问图片URL,验证服务器端文件是否正常存储可访问。

内容的提问来源于stack exchange,提问作者Arjun V M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:32:37