1***@qq.com
1***@qq.com
  • 发布:2024-12-16 10:33
  • 更新:2024-12-16 10:33
  • 阅读:75

【报Bug】uni.uploadFile上传文件,在IOS APP端发送的请求地址被提前解码

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Microsoft Windows 10 家庭中文版10.0.19045 内部版本 19045

HBuilderX类型: 正式

HBuilderX版本号: 4.36

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: iphone15

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

Android
{
"sessionId": "53c5f9f0b91511ef8c009b0ac015785f",
"_auth_org": "江西七叶莲科技有限公司",
"_auth_ts": "1734314440341",
"_auth_data": "aQoMO%2Fipvsef7zU3eLeEFOCDKXjTjHQgMtGMEkZcoo%2FDO8iXxtRTQknq8v%2F1NLqrIfEE3lMOpL8emkmQv7zdFQ%3D%3D",
"appCode": "fwimg"
}

IOS
{
"sessionId": "eb900df0b93011ef8c009b0ac015785f",
"_auth_org": "江西七叶莲科技有限公司",
"_auth_ts": "1734314637399",
"_auth_data": "5Yi74IQQV4LcXpFHk4ebI%2B9SFBf8ORuCCi5HQCWHglrwmLX%2F1WTsKV6nF2I%2BNUFcTEWWGEfkB%2FYOlAyLFhMvuw%3D%3D",
"appCode": "fwimg"
}

操作步骤:

1、IOS端使用uni.uploadFile上传文件,且URL上携带参数并含有特殊字符,比如+号 (_auth_data=5Yi74IQQV4LcXpFHk4ebI+9SFBf8ORuCCi5HQCWHglrwmLX/1WTsKV6nF2I+NUFcTEWWGEfkB/YOlAyLFhMvuw==)
发送之后,查看服务器端日志,或者抓包查看URL是否是编码状态

预期结果:

IOS端,uni.uploadFile上传文件 在服务器端日志没有被主动解码 输入的URL信息 仍然是URL编码的状态,即URL中的+号 还是对应的编码%2B

实际结果:

IOS端,uni.uploadFile上传文件,在服务器端日志显示,直接是解码状态,导致后端主动解码的时候将+号解析成了空格

bug描述:

【附件图片说明】图片是服务器上下载下来的日志,分别是android和ios的(图片上带有红色IOS标志的是IOS的日志)

【bug描述】IOS端使用uni.uploadFile上传文件,url上携带参数,例如: "sessionId=eb900df0b93011ef8c009b0ac015785f&_auth_org=江西七叶莲科技有限公司&_auth_ts=1734314637399&_auth_data=5Yi74IQQV4LcXpFHk4ebI+9SFBf8ORuCCi5HQCWHglrwmLX/1WTsKV6nF2I+NUFcTEWWGEfkB/YOlAyLFhMvuw==&appCode=fwimg" 这是URL原始状态。

我将URL进行url编码后,发送到服务端。但是校验失败。通过比对发现,IOS端将_auth_data里面的+号解析成了空格。

Android端上传文件正常,且服务器端日志显示URL是被编码的状态;再和IOS端比对,IOS端上传文件的URL在服务器的日志里面不是被编码的状态。说明URL在IOS端发出来前被提前解码。

2024-12-16 10:33 负责人:无 分享
已邀请:

要回复问题请先登录注册