uni.uploadFile({
url: fyURL,
method: 'post',
filePath: data.path,
name: 'image',
success (res) {
console.log(res) // res.data为空
let data = res?.data
try{
data = JSON.parse(data)
}catch(e){
data = null
}
resolve(data || {
code: 400,
msg: '识别文字失败'
})
},
fail (e) {
resolve('服务异常,识别失败')
}
})
- 发布:2024-12-03 17:28
- 更新:2024-12-03 19:02
- 阅读:39
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.36
手机系统: iOS
手机系统版本号: iOS 18
手机厂商: 苹果
手机机型: iphone 11
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
服务器返回401status,并携带响应数据。
ios的uploadFile的success回调获取不到服务器返回的响应数据
服务器返回401status,并携带响应数据。
ios的uploadFile的success回调获取不到服务器返回的响应数据
预期结果:
{
"data": "{\"code\":4001,\"msg\":\"试用次数已用完,请登录后继续使用哦~\"}",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
{
"data": "{\"code\":4001,\"msg\":\"试用次数已用完,请登录后继续使用哦~\"}",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
实际结果:
{
"data": "",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
{
"data": "",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
bug描述:
ios使用uploadFile上传文件,服务器返回401状态码,success回调中获取不到服务器返回的数据
请求响应内容 Response如下:
HTTP/1.1 401 Unauthorized
Server: openresty
Date: Mon, 02 Dec 2024 09:17:01 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 74
Connection: keep-alive
Access-Control-Allow-Credentials: ture
Access-Control-Allow-Headers:
Access-Control-Allow-Methods: GET, HEAD, POST, PATCH, PUT, DELETE
Access-Control-Allow-Origin:
Access-Control-Allow-Private-Network: ture
Access-Control-Expose-Headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Anonymous-Id
Access-Control-Max-Age: 86400
Anonymous-Id: f16bed9bd7920cc5b1cb2147fe5bbda1
Error: 试用次数已用完,请登录后继续使用哦~
Traceparent: 00-6acb6fe1791b03afbb211f56de55a698-6513d209430cd924-00
Vary: Origin
{"code":4001,"msg":"试用次数已用完,请登录后继续使用哦~"}
-------------------------------------------------------------------分割线-------------------------------------------------------------------
以上是抓包的返回,在ios真机中的 uni.uploadFile 的 success 回调中返回的是以下数据,data为空
{
"data": "",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
-------------------------------------------------------------------分割线-------------------------------------------------------------------
在安卓真机中的 uni.uploadFile 的 success 回调中返回的是以下数据,data是服务器返回的数据
{
"data": "{\"code\":4001,\"msg\":\"试用次数已用完,请登录后继续使用哦~\"}",
"statusCode": 401,
"errMsg": "uploadFile:ok"
}
w***@163.com (作者)
没有在模拟器试过,目前只在真机测试
2.iphone15 pro - ios17.5.1 - 有问题
2024-12-03 20:18