HarmonyOS 鸿蒙Next 调用request.uploadFile进行文件上传后只能获取上传成功,无法获取上传后服务端返回的结果
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
第二个目前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
服务端返回数据要在headerReceive监听里面获取
@ohos.request (上传下载)-数据文件处理-ArkTS API-Basic Services Kit(基础服务)-基础功能-系统 - 华为HarmonyOS开发者 (huawei.com)
在HarmonyOS鸿蒙Next系统中,当你使用request.uploadFile
进行文件上传操作时,如果只能获取上传成功的信息而无法获取服务端返回的结果,这通常是因为你的请求处理逻辑中缺少了对响应数据的正确解析。
在鸿蒙的API设计中,上传文件后,你需要监听请求的响应回调,并在回调中解析服务器返回的响应数据。确保你在onResponse
或类似的回调方法中正确读取了响应体。以下是一个简化的处理流程:
- 调用
request.uploadFile
时,传入包含目标URL、文件路径、请求头等参数的配置。 - 实现
onResponse
回调,在该回调中通过response.getData()
或类似方法获取服务器的响应数据。 - 解析响应数据,获取你需要的服务端返回结果。
例如:
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