uni-app uni.uploadFile返回问题

uni-app uni.uploadFile返回问题

操作步骤:

1

预期结果:

1

实际结果:

1

bug描述:

data String 开发者服务器返回的数据
为何返回不进行自动转为对象呢?
应该跟uni.request拉齐才对啊,想不明白,


| 信息类别         | 信息内容        |
|------------------|-----------------|
| 产品分类         | uniapp/App      |
| PC开发环境       | Windows         |
| PC开发环境版本   | win10           |
| HBuilderX类型    | 正式            |
| HBuilderX版本    | 3.0.4           |
| 手机系统         | Android         |
| 手机系统版本     | Android 10      |
| 手机厂商         | 小米            |
| 手机机型         | note7           |
| 页面类型         | nvue            |
| 打包方式         | 云端            |
| 项目创建方式     | HBuilderX       |

更多关于uni-app uni.uploadFile返回问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

表现和文档一致,并非Bug

更多关于uni-app uni.uploadFile返回问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我的意思是为何不与uni.request的返回一样呢?还需要自己解析一遍

回复 choin: 为了各端尽量表现一致

回复 choin: 回复 choin: 其他端均如此,所以App端也没搞特别对待

回复 DCloud_UNI_GSQ: 哦这样, 其实我有个想法, 就是uni再加一层, 抛给我们开发者的是统一的,我知道各个平台不一样,我的意思是:实在没办法统一了 再分开写。目前虽说也没多大问题,但还是影响效率。 提个建议

关于uni.uploadFile返回数据未自动转为对象的问题,这是因为uni.uploadFile和uni.request的设计定位不同:

  1. uploadFile主要用于文件上传,其响应数据默认保持原始格式(String),因为上传接口可能返回非JSON格式数据(如纯文本、XML等)

  2. request是通用请求方法,默认会尝试将响应数据转为JSON对象

解决方案:

  1. 手动转换:
uni.uploadFile({
  success: (res) => {
    const data = JSON.parse(res.data)
  }
})
回到顶部