HarmonyOS http网络请求,上传图片和data内容时遇到问题?

如题:HarmonyOS http网络请求,上传图片和data内容时遇到问题?

阅读 524
1 个回答

通过以下方式上传图片文件和data数据,通过拍照或者picker进行相册选择,应用授权ohos.permission.READ\_MEDIA、ohos.permission.WRITE\_MEDIA,图片uri地址都可以正常读取,之后在调用下方上传时提示:

{"code":2300026,"message":"Failed to open/read local data from file/application"}

仍旧没有权限,但是当我在配置文件添加 ohos.permission.READ\_IMAGEVIDEO和ohos.permission.WRITE\_IMAGEVIDEO后,不知是不是因为受限开放权限问题导致install failed due to grant request permissions failed。目前通过request进行文件上传需要如何做?

const res = await http.createHttp().request(requestUrl, {
  method: method,
  // 可选,默认为60s
  connectTimeout: connectTimeout ? connectTimeout : 10000,
  // 可选,默认为60s
  readTimeout: readTimeout ? readTimeout : 5000,
  extraData: method === http.RequestMethod.GET ? "" : JSON.stringify(obj) || {} as EmptyInterface,
  header: {
    'Content-Type': (uploadImage ? ContentTypeFile.JSON : ContentType.JSON)
  },
  multiFormDataList: uploadImage ? [
    {
      name: "customFilename", // 数据名,自API 11开始支持该属性
      contentType: 'text/plain', // 数据类型,自API 11开始支持该属性
      data: 'jianghao', // 可选,数据内容,自API 11开始支持该属性
    },
    {
      name: "file", // 数据名,自API 11开始支持该属性
      contentType: 'multipart/form-data', // 数据类型,自API 11开始支持该属性
      filePath: (files ? files[0] : ''), // 可选,传入文件路径,自API 11开始支持该属性
    }
  ] : []
})

get不能用extraData传参,如需添加extraData需要使用method:http.RequestMethod.POST的方式。

logo
HarmonyOS
子站问答
访问
宣传栏