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
2024-12-23 16:13:08
浏览
收藏 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
微信
回复
2024-12-23 19:37:21
相关问题
上传文件后,如何接受后端返回数据
2144浏览 • 1回复 待解决
自定义组件中如何添加图片
2912浏览 • 1回复 待解决
HarmonyOS 自定义接口如何使用
389浏览 • 1回复 待解决
HarmonyOS 自定义组件使用
270浏览 • 1回复 待解决
HarmonyOS 自定义图片选择界面
499浏览 • 1回复 待解决
HarmonyOS 图片增加自定义水印
228浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
1991浏览 • 1回复 待解决