HarmonyOS 鸿蒙Next 元服务怎么上传文件,使用request.agent.create一直提示错误码13499999

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

HarmonyOS 鸿蒙Next 元服务怎么上传文件,使用request.agent.create一直提示错误码13499999

import fs from '@ohos.file.fs';
import { uri } from "@kit.ArkTS";
import request from '@ohos.request'; 

const newDataUri = cacheDir + '/test.txt'
let file = fs.openSync(newDataUri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.writeSync(file.fd, 'upload file test by API9');
fs.closeSync(file);

const result = new uri.URI(newDataUri);

console.info('path', result.path)
let attachments: Array<request.agent.FormItem> = [{
  name: "test",
  value: [
    {
      filename: "test.txt",
      mimeType: 'application/octet-stream',
      path: result.path,
    },
  ]
}];

let config: request.agent.Config = {
  action: request.agent.Action.UPLOAD,
  url: 'http://127.0.0.1:7788',
  data: attachments,
};

request.agent.create(context, config).then((task: request.agent.Task) => {
  task.start((err: BusinessError) => {
    if (err) {
      console.error(`Failed to start the upload task, Code: ${err.code}  message: ${err.message}`);
      return;
    }
  });
  task.on('progress', async (progress) => {
    console.warn(`/Request upload status ${progress.state}, uploaded ${progress.processed}`);
  })
  task.on('completed', async () => {
    console.warn(`/Request upload completed`);
  })
}).catch((err: BusinessError) => {
  console.error(`Failed to create a upload task, Code: ${err.code}, message: ${err.message}`);
});

无论config怎么配置,都是报错,进入代码最下面的catch中,错误码13499999

文档上很多上传的方法,比如request.uploudFile,元服务都不能用,目前自己发现这个上传途径,接口错误码一直都是13499999(其它错误)

{
  "devices": "development",
  "deviceTypes": [
    "phone",
    "tablet"
  ],
  "development": {
    "addedSysCaps": [
      "SystemCapability.Location.Location.Lite",
      "SystemCapability.FileManagement.UserFileService",
      "SystemCapability.Request.FileTransferAgent"
    ]
  }
}
{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "requestPermissions": [{
      "name" : "ohos.permission.INTERNET",
      "reason": "$string:title",
      "usedScene": {
        "abilities": [
          "EntryAbility"
        ],
        "when": "inuse"
      }
    }
    ],
    "deliveryWithInstall": true,
    "installationFree": true,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:startIcon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

求指导,等上线


更多关于HarmonyOS 鸿蒙Next 元服务怎么上传文件,使用request.agent.create一直提示错误码13499999的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复
context都没定义,不会报错的吗,提供下完整的demo呢

更多关于HarmonyOS 鸿蒙Next 元服务怎么上传文件,使用request.agent.create一直提示错误码13499999的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


http://127.0.0.1压根没收到任何请求,

有没有大佬能解答下啊

如果是元服务需要在你们元服务的 AGC 的 开发管理-域名配置-服务器配置 里面配置 upload域名或者download域名,

在HarmonyOS鸿蒙系统中,针对Next元服务上传文件时遇到的错误码13499999,这通常表明在文件上传过程中存在配置或权限问题。以下是一些可能的原因及解决方法(不涉及Java或C语言):

  1. 权限配置:确保你的应用已正确配置了上传文件所需的权限。在鸿蒙系统的manifest文件中,检查是否已声明了读写外部存储或特定文件类型的权限。

  2. 文件路径:确认request.agent.create方法中指定的文件路径是否正确。路径错误或文件不存在都可能导致上传失败。

  3. 文件大小:检查上传的文件是否超过了系统或服务端设定的文件大小限制。

  4. 服务配置:确保Next元服务的配置正确无误,包括服务地址、端口号等。

  5. 错误码解析:错误码13499999可能是一个自定义或特定于环境的错误码,建议查阅鸿蒙系统的官方文档或开发者社区,了解该错误码的具体含义。

如果上述方法均无法解决问题,请确保你的代码逻辑正确,并尝试在不同的网络环境或设备上进行上传操作,以排除环境因素的影响。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部