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

React Native无法加载Cpanel托管图片问题求助

解决React Native无法显示Cpanel托管图片的问题

以下是一步步的排查和解决方法:

  • 验证拼接后的URL有效性
    把你拼接好的完整图片URL(比如https://myspace.takexam.com/storage/xxx.jpg)复制到手机或电脑浏览器里直接访问。如果浏览器也打不开,说明问题不在React Native,而是:

    • Cpanel上的文件路径配置错误,比如storage目录的实际位置和你拼接的路径不匹配
    • 文件或目录权限不足:登录Cpanel,找到storage文件夹,设置权限为755,图片文件权限设为644
  • 检查item.image的实际值
    在代码里打印item.image的内容,看是否包含多余字符:

    console.log('Image path:', item.image);
    

    如果输出开头带斜杠(比如/xxx.jpg),拼接后会变成https://xxx/storage//xxx.jpg,导致路径错误。可以用以下方式修正:

    uri: `https://myspace.takexam.com/storage/${item.image.replace(/^\/+/, '')}`
    
  • 确认API返回路径的正确性
    检查API返回的item.image是单纯文件名(如logo.jpg)还是包含子目录的路径(如uploads/logo.jpg),确保拼接后的路径和Cpanel上文件的实际存储路径完全一致。比如Cpanel里文件存在public_html/storage/uploads/logo.jpg,那URL就应该是https://myspace.takexam.com/storage/uploads/logo.jpg。

  • React Native组件配置检查

    • 确保<Image>组件设置了明确的width和height属性,否则图片可能无法渲染
    • iOS端:检查Info.plist中是否开启了HTTPS访问(默认允许,但如果有自定义配置可能需要确认)
    • Android端:确认AndroidManifest.xml中添加了网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
      
  • 清除缓存
    重启Metro开发服务器,或者卸载重装应用,清除React Native的缓存,避免旧的错误路径被缓存导致问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 02:19:59