HarmonyOS 鸿蒙Next 文件上传问题

HarmonyOS 鸿蒙Next 文件上传问题 API9 通过screenshot截图保存到了沙箱路径下,将这个截图文件上传到服务器提示is bad file path,这个是什么问题。下面是我的代码:

let fileName = args[0] + '.jpeg' //文件名字包含后缀
let name = args[0] //文件名称
let uri = 'file:/' + args[1] //文件沙箱路径
let uploadConfig: request.UploadConfig = {
  url: url,
  header: { key1: 'Content-Type', key2: 'multipart/form-data' },
  method: http.RequestMethod.POST,
  files: [
    { filename: fileName,
      name: name,
      uri: uri,
      type: 'jpeg'
    }
  ],
  data: [
    { name: 'name', value: name }
  ]
}

try {
  request.uploadFile(context, uploadConfig)
    .then(uploadTask => {
      uploadTask.on('complete', () => {
        this.httpCallBack.response(Constants.API_UPLOAD_SHOT_CODE, 0, 'upload complete')
      })
      uploadTask.on('fail', (error) => {
        this.httpCallBack.fail(Constants.API_UPLOAD_SHOT_CODE, 'Invoke uploadFile failed, code is ' + error)
      })
    })
    .catch(err => {
      this.httpCallBack.fail(Constants.API_UPLOAD_SHOT_CODE, `Invoke uploadFile failed, code is ${err.code}, message1 is ${err.message}`)
    })
} catch (err) {
  this.httpCallBack.fail(Constants.API_UPLOAD_SHOT_CODE, `Invoke uploadFile failed, code is ${err.code}, message2 is ${err.message}`)
}

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

4 回复

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


感谢,

HarmonyOS 鸿蒙Next 文件上传问题通常涉及系统API的使用和文件管理机制。HarmonyOS提供了多种文件上传的方式,支持开发者通过系统接口实现文件的上传操作。HarmonyOS的文件上传主要依赖于其分布式文件系统和网络通信能力。开发者可以使用@ohos.fileio模块进行文件操作,通过@ohos.net.http模块实现网络请求。

在HarmonyOS中,文件上传通常包括以下步骤:

  1. 使用@ohos.fileio模块读取本地文件内容。
  2. 构建HTTP请求,设置请求方法为POST,并指定上传的URL。
  3. 将文件内容作为请求体发送到服务器。
  4. 处理服务器的响应结果,确认文件是否上传成功。

HarmonyOS的文件上传功能支持断点续传和多线程上传,适合大文件上传场景。开发者可以通过配置相关参数,优化上传速度和稳定性。

回到顶部