HarmonyOS 鸿蒙Next 调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果
调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果。代码如下:

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 鸿蒙Next 调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
第一个问题可以参考使用on('headerReceive')接口,参考文档:

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

第二个目前request.uploadFile上传文件的接口确实只支持放到cache中上传,参考文档中的uri说明:

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

更多关于HarmonyOS 鸿蒙Next 调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,当你使用request.uploadFile进行文件上传操作时,如果只能获取上传成功的信息而无法获取服务端返回的结果,这通常是因为你的请求处理逻辑中缺少了对响应数据的正确解析。

在鸿蒙的API设计中,上传文件后,你需要监听请求的响应回调,并在回调中解析服务器返回的响应数据。确保你在onResponse或类似的回调方法中正确读取了响应体。以下是一个简化的处理流程:

  1. 调用request.uploadFile时,传入包含目标URL、文件路径、请求头等参数的配置。
  2. 实现onResponse回调,在该回调中通过response.getData()或类似方法获取服务器的响应数据。
  3. 解析响应数据,获取你需要的服务端返回结果。

例如:

let request = new http.HttpRequest();
request.uploadFile({
    url: 'your-server-url',
    filePath: 'your-file-path',
    ...
}).then((response) => {
    let responseBody = response.getData();
    // 解析responseBody,获取服务端返回的结果
}).catch((error) => {
    console.error('Upload failed: ', error);
});

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

回到顶部