1***@qq.com
1***@qq.com
  • 发布:2026-03-20 10:44
  • 更新:2026-03-20 10:45
  • 阅读:19

【报Bug】5.04,5.03版本更新后image标签获取图片404

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Sequoia 版本15.6.1

HBuilderX类型: 正式

HBuilderX版本号: 5.04

手机系统: Android

手机系统版本号: Android 13

手机厂商: 小米

手机机型: POCO X3 GT

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

图片error完整报错


<image @error="imageError" mode="scaleToFill"  
    style="width: 96rpx;height: 96rpx;border-radius: 24rpx;"  
    referrerPolicy="no-referrer" :src="item['icon'] ? item['icon'] : '' ">  
</image>  

{  
    "target": {  
        "dataset": {},  
        "id": "",  
        "offsetLeft": 16,  
        "errMsg": "GET https://i5.7k7kimg.cn/game/140140/199/198990_340821.jpg 404 (Not Found)",  
        "offsetTop": 601  
    },  
    "type": "error",  
    "timeStamp": 5275.599999964237,  
    "detail": {  
        "errMsg": "GET https://i5.7k7kimg.cn/game/140140/199/198990_340821.jpg 404 (Not Found)"  
    },  
    "currentTarget": {  
        "dataset": {},  
        "id": "",  
        "offsetLeft": 16,  
        "offsetTop": 601  
    },  
    "changedTouches": [],  
    "touches": [],  
    "preventDefault": "function() { [native code] }",  
    "stopPropagation": "function() { [native code] }",  
    "mp": {  
        "@warning": "mp is deprecated",  
        "target": {  
            "dataset": {},  
            "id": "",  
            "offsetLeft": 16,  
            "errMsg": "GET https://i5.7k7kimg.cn/game/140140/199/198990_340821.jpg 404 (Not Found)",  
            "offsetTop": 601  
        },  
        "type": "error",  
        "timeStamp": 5275.599999964237,  
        "detail": {  
            "errMsg": "GET https://i5.7k7kimg.cn/game/140140/199/198990_340821.jpg 404 (Not Found)"  
        },  
        "currentTarget": {  
            "dataset": {},  
            "id": "",  
            "offsetLeft": 16,  
            "offsetTop": 601  
        },  
        "changedTouches": [],  
        "touches": [],  
        "preventDefault": "function() { [native code] }",  
        "stopPropagation": "function() { [native code] }"  
    },  
    "_processed": true  
}

操作步骤:

hbuildx更新到最新5.04版本 使用uniapp的image标签获取 https://i5.7k7kimg.cn/game/140140/199/198990_340821.jpg 图片403
实际抓包发现 此版本ua 缺少uniapp标识

预期结果:

图片正常返回

实际结果:

图片403 被防盗链拦截

bug描述:

链接有防盗链 但我们做了白名单 加UA uni-app 即可访问
抓包测试 这次更新后user-agent uniapp关键字缺失

2026-03-20 10:44 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您好,我是 DCloud 技术支持人员,针对您提交的 bug 反馈,我进行了如下评审:

反馈质量评价

1. 信息完整性评估

不足之处:

  • 复现步骤过于简略:仅描述"更新到5.04版本"无法让开发人员精准定位问题,缺少旧版本对比测试(如4.87版本是否正常)
  • 关键网络信息缺失:既然涉及防盗链和UA白名单机制,需要提供:
    • 正常访问时应当携带的 User-Agent 字符串
    • 请求头中 Referer 的具体要求
    • 5.04 版本与之前版本请求头的对比抓包数据(Charles 或 Wireshark 截图)
  • 最小化复现示例不完整:提供的代码片段包含动态变量 item['icon'],建议提供可直接运行的静态图片地址示例

可取之处:

  • 提供了完整的错误日志(包含 errMsg 和 event 对象)
  • 明确了平台范围(Android App,Vue2)
  • 已尝试使用 referrerPolicy="no-referrer" 进行修复并反馈结果

2. 技术合理性分析

根据您描述的现象(防盗链+UA白名单+404),结合 5.04 版本更新时间点,初步判断可能原因:

  • WebView 内核变更:HBuilderX 5.x 系列可能升级了 Android 端的 WebView 内核或网络请求模块,导致默认 User-Agent 格式发生变化
  • Referer 策略调整:虽然您设置了 referrerPolicy="no-referrer",但需要确认该属性在 5.04 版本的 Android 端是否被正确透传到底层请求

需要您补充验证:

  1. 在 5.04 版本的 Android 真机中,通过 uni.getSystemInfoSync() 获取并记录 ua 字段
  2. 对比 4.87 版本(或您之前正常的版本)同一设备的 UA 字符串差异
  3. 使用 Chrome DevTools 远程调试,检查实际 HTTP 请求头中的 User-Agent 和 Referer 字段

3. 是否为有效 Bug

目前知识库中暂未收录 5.04 版本关于 image 组件请求头变更的已知问题,因此该反馈作为潜在 Bug 具有价值。但需排除以下情况:

  • 确认您的图片服务器白名单是否针对 uni-app 特定版本的 UA 格式做了严格匹配(如包含版本号的正则表达式)
  • 确认是否为云打包基座更新导致(建议测试自定义基座与云端打包基座的差异)

建议补充材料

为了加快问题定位,请在反馈中追加:

// 请在页面 onLoad 中添加以下代码,并贴出控制台输出  
onLoad() {  
  const systemInfo = uni.getSystemInfoSync();  
  console.log('User-Agent:', systemInfo.ua);  
  console.log('System:', systemInfo.system);  
  console.log('App Version:', systemInfo.appVersion);  
  console.log('App Version Code:', systemInfo.appVersionCode);  
}

同时提供:旧版本(正常)与新版本(异常)的 HTTP 请求头对比截图。

如确认是版本回归问题,我们将提交至 ISSUE 系统跟进。您也可以先尝试通过 插件市场 搜索图片加载增强插件作为临时解决方案。

内容为 AI 生成,仅供参考

要回复问题请先登录注册