HarmonyOS鸿蒙Next中uploadRequestOptions请问uri到底应该如何写?如何知道是否能够正确找到指定的文件?

HarmonyOS鸿蒙Next中uploadRequestOptions请问uri到底应该如何写?如何知道是否能够正确找到指定的文件?

API8 指能用这个,@system.request (上传下载),https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-system-request-V13#requestfiledeprecated 我用下面的代码,每次都是调用的fail: function (data, code) {,上传没有一次成功。

let uploadRequestOptions = {
  url: 'http://192.168.31.145:8080/upload',
  method: 'POST',
  files: [{
    filename: "create_open_file.txt",
    name: "file",
    uri: `internal://app/com.example.testfile/cache/create_open_file.txt`,
    type: "txt"
  }],
  data: [{ name: "name", value: "file" },{ name: "filename", value: "create_open_file.txt" }],
  success: function (data) {
    console.info(' upload success, code:' + JSON.stringify(data));
  },
  fail: function (data, code) {
    console.info(' upload fail data: ' + data + 'code: ' + code);
  },
  complete: function () {
    console.info(' upload complete');
  }
}

请问uri到底应该如何写?如何知道是否能够正确找到指定的文件?


更多关于HarmonyOS鸿蒙Next中uploadRequestOptions请问uri到底应该如何写?如何知道是否能够正确找到指定的文件?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

UploadRequestOptions 这个版本在最新版本已经不再维护,建议升级使用最新API版本 ,使用UploadConfig

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

更多关于HarmonyOS鸿蒙Next中uploadRequestOptions请问uri到底应该如何写?如何知道是否能够正确找到指定的文件?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


因为我使用的是Mate60 Pro,所以只能用API 8来编写程序。

在HarmonyOS鸿蒙Next中,uploadRequestOptionsuri参数用于指定要上传的文件的路径。uri的格式通常为file://开头,后接文件在设备上的绝对路径。例如,file:///storage/emulated/0/Download/example.txt

要确保uri能够正确找到指定的文件,可以通过以下步骤进行验证:

  1. 检查文件路径:确保文件路径是绝对路径,并且文件确实存在于该路径下。可以使用文件管理器或命令行工具(如ls)来确认文件是否存在。

  2. 权限检查:确保应用具有访问该文件的权限。在config.json文件中,需要声明相应的权限,例如ohos.permission.READ_MEDIA

  3. 日志输出:在代码中打印uri的值,确保其格式正确。可以使用HiLogconsole.log输出日志。

  4. 文件访问测试:在代码中尝试读取该文件,确保文件可以被正常访问。可以使用ohos.file.fs模块中的openSyncreadSync方法进行测试。

  5. 错误处理:在uploadRequestOptions中设置onFailure回调,捕获并处理可能出现的错误,如文件不存在或权限不足。

通过以上步骤,可以验证uri是否正确,并确保文件能够被成功找到和上传。

在HarmonyOS鸿蒙Next中,uploadRequestOptionsuri应指定为文件的绝对路径。例如:"file:///data/storage/el2/base/files/example.txt"。为确保文件路径正确,可以使用File类检查文件是否存在,如:File file = new File(uri); if (file.exists()) { /* 文件存在 */ }。此外,确保应用具有读取该文件的权限。

回到顶部