HarmonyOS 鸿蒙Next文件上传报错

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

HarmonyOS 鸿蒙Next文件上传报错

调用 request.uploadFile 的时候报错 Error: the parameters check fails this is fail path@431a5ed1

代码如下:
```typescript
uploadFile() {
    // 上传任务配置项
    let header = new Map<Object, string>();
    header.set('partner_id', this.partnerId);
    header.set('user_number', this.userNumber);
    let files: Array<request.File> = [
        { filename: 'wenzai_logs', name: 'wenzai_logs', uri: 'internal:/data/storage/el2/base/haps/entry/files/wenzai_logs.zip' , type: 'zip' }
    ]
    let requestData: Array<request.RequestData> = [{ name: 'name', value: 'value' }];
    let uploadConfig: request.UploadConfig = {
        url: API_HOST_WEB[this.deployType] + UP_LODE_LOG_FILE,
        header: header,
        method: 'POST',
        files: files,
        data: requestData
    }
    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文件上传报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

文档有说明uploadConfigfiles字段中uri的说明,请尝试在 cache 里上传,当前仅支持"internal"协议,对应在cache目录下:

[@ohos.request (上传下载)-数据文件处理-ArkTS API-Basic Services Kit(基础服务)-基础功能-系统 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5)

应用文件上传下载,也可以参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5

更多关于HarmonyOS 鸿蒙Next文件上传报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)系统中Next文件上传报错的问题,可能的原因及解决方法如下:

  1. 权限问题

    • 检查应用是否已获得存储权限。在鸿蒙系统中,应用需要用户授权才能访问存储设备。如果权限未被授予,文件上传功能可能会失败。
  2. 文件路径错误

    • 确认文件路径是否正确。错误的文件路径会导致文件无法被找到,从而上传失败。
  3. 文件大小限制

    • 检查服务器或应用是否有文件大小限制。如果文件超过限制,上传将被拒绝。
  4. 网络问题

    • 确认设备网络连接是否稳定。不稳定的网络连接可能导致上传中断或失败。
  5. 应用Bug

    • 如果是应用本身的Bug导致的上传失败,可以尝试更新应用到最新版本,或者联系应用开发者获取支持。
  6. 系统兼容性问题

    • 检查鸿蒙系统版本是否与应用兼容。有时新系统或应用的更新可能引入不兼容性问题。

如果上述方法均无法解决问题,可能是更复杂的系统或应用层面的错误。此时,建议直接联系官网客服以获取更专业的帮助。官网地址是:https://www.itying.com/category-93-b0.html 如果问题依旧没法解决请联系官网客服。

回到顶部