HarmonyOS 鸿蒙Next 通过@ohos.request (上传下载) Task来上传文件,on('response')如何获取response返回的result?

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 通过@ohos.request (上传下载) Task来上传文件,on(‘response’)如何获取response返回的result?

通过@ohos.request (上传下载)Task来上传文件,on(‘response’)如何获取response返回的result?

我的上传接口里,会在Response返回一些有用的数据,但是Task上传文件的HttpResponse里无法获取Response的数据。

目前只能将数据放在Response的Headers里返回给前端
 


更多关于HarmonyOS 鸿蒙Next 通过@ohos.request (上传下载) Task来上传文件,on('response')如何获取response返回的result?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

更多关于HarmonyOS 鸿蒙Next 通过@ohos.request (上传下载) Task来上传文件,on('response')如何获取response返回的result?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


用的是request.agent.Task,没有用UploadTask,所以没有on(‘headerReceive’)

在HarmonyOS鸿蒙Next中,通过@ohos.request进行文件上传时,你可以在on('response')事件处理函数中获取响应结果。具体步骤如下:

  1. 发起请求:使用@ohos.request方法,并配置好请求的URL、方法(如POST)、请求头以及请求体(包含文件数据)。

  2. 监听响应:在请求对象中调用on('response')方法,传入一个回调函数。

  3. 获取响应结果:在回调函数中,通过事件对象的data属性获取响应数据。data属性通常包含服务器返回的JSON对象或其他格式的数据,其中result字段即为你要获取的结果。

示例代码:

let request = @ohos.request({
    url: 'your-upload-url',
    method: 'POST',
    headers: {
        'Content-Type': 'multipart/form-data'
    },
    body: formData // 包含文件数据的FormData对象
});

request.on('response', (event) => {
    let response = event.data;
    let result = response.result; // 获取响应中的result字段
    console.log(result);
});

request.send();

如果result字段的获取方式因API版本或具体实现而异,请直接访问响应对象的属性来找到所需的数据。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部