HarmonyOS 使用 @ohos.request 进行图片上传,如何能接受到自定义的 response

在 APP 中需要上传肖像,上传成功后,后台会给出上传后的信息,如下所示:

{
  "code": 200,
  "msg": "成功",
  "data": {
    "result": {
      "number": 1,
      "url": "https://xxx.jpg"
    },
  "message": "文件上传成功",
  "status": 1
  }
}

而在request.uploadFile的 then 方法中,只能拿到 uploadTask 或 TaskState的数据:

// 将本地应用文件上传至网络服务器
try {
  request.uploadFile(context, uploadConfig)
    .then((uploadTask: request.UploadTask) => {
      uploadTask.on('complete', (taskStates: Array<request.TaskState>) => {
        for (let i = 0; i < taskStates.length; i++) {
          console.info(`upload complete taskState: ${JSON.stringify(taskStates[i])}`);
        }
      });
    })
    .catch((err: BusinessError) => {
      console.error(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
    })
} catch (error) {
  let err: BusinessError = error as BusinessError;
  console.error(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
}

我怎么才能拿到后台返给我的数据呢?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可以尝试下如下方法:

try {
  request.uploadFile(getContext(), uploadConfig).then((data: request.UploadTask) => {
    let uploadTask = data;
    uploadTask.on('complete', (taskStates: Array<request.TaskState>) => {
      for (let i = 0; i < taskStates.length; i++) {
        console.info(`upload complete taskState: ${JSON.stringify(taskStates[i])}`);
      }
    });
    uploadTask.on('headerReceive', (header: Object) => {
      console.log('

分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 自定义接口如何使用
170浏览 • 1回复 待解决
上传文件后,如何接受后端返回数据
2012浏览 • 1回复 待解决
HarmonyOS 自定义图片选择界面
49浏览 • 1回复 待解决
自定义组件中如何添加图片
2608浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
1727浏览 • 1回复 待解决
HarmonyOS 使用自定义字体
268浏览 • 1回复 待解决
自定义组件onMeasureSize使用
440浏览 • 1回复 待解决
如何使用和加载自定义字体
2232浏览 • 1回复 待解决