HarmonyOS 文件上传接口数据返回信息

在使用request.uploadFile(context, uploadConfig) 文件上传是只能监听到uploadTask.off(‘complete’, upCompleteCallback1);文件是否上传成功的信息,无法获取服务端处理文件按后返回的字段信息。

请问如果需要获取到服务端处理文件后返回的数据应该怎么操作?

HarmonyOS
2024-12-23 16:49:07
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

可以尝试订阅服务端请求信息,获取的headers中包含有header和body,参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-websocket-V5#onheaderreceive12

demo如下:

import { BusinessError, request } from '@kit.BasicServicesKit';
@Entry
@Component
struct UploadFile {
  @State message: string = 'Hello World';
  upload() {
    let uploadConfig: request.UploadConfig = {
      url: 'http://huawei.com', // 需要手动将 url 替换为真实服务器的 HTTP 协议地址
      header: { 'Accept': '/' },
      method: "POST",
      files: [{
        filename: "test",
        name: "test",
        uri: "internal://cache/test.jpg",
        type: "jpg"
      }],
      data: [{ name: "name123", value: "123" }],
    };
    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('

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
分享
微博
QQ
微信
回复
2024-12-23 19:08:21
相关问题
HarmonyOS 华为账号登录接口返回信息
1645浏览 • 1回复 待解决
上传文件后,如何接受后端返回数据
2520浏览 • 1回复 待解决
HarmonyOS 接受接口返回的json数据
978浏览 • 1回复 待解决
上传文件接口报错 ,该怎么处理啊?
1568浏览 • 1回复 待解决
HarmonyOS axios上传文件数据传递问题
681浏览 • 1回复 待解决
HarmonyOS上传文件问题
1228浏览 • 1回复 待解决
HarmonyOS 如何上传文件
942浏览 • 1回复 待解决