【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等)或请求参数值是file类型时,调用在线服务接口 - HarmonyOS 鸿蒙Next

【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等)或请求参数值是file类型时,调用在线服务接口 - HarmonyOS 鸿蒙Next 最近在使用华为AI平台ModelArts训练自己的图像识别模型,并部署了在线服务接口。供给客户端(如:鸿蒙APP/元服务)调用。

接口接收到传入的图片文件,识别图片内容后成功返回结果。

注意:接口要求输入的参数名是images,值类型是文件file。

注意:

  1. 构建请求体body中的Content-Type: application/octet-stream 与 header中设置的Content-Type: multipart/form-data
  2. header参数中记得设置Content-Length: bodyContent.byteLength.toString()

更多关于【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等)或请求参数值是file类型时,调用在线服务接口 - HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

有用

更多关于【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等)或请求参数值是file类型时,调用在线服务接口 - HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,处理文件上传或请求参数值为file类型的场景,可以使用@ohos.net.http模块提供的HTTP客户端功能。首先,通过createHttp()方法创建一个HTTP客户端实例。接着,使用request()方法发起HTTP请求。在请求中,通过extraData参数传递文件数据,文件数据可以是ArrayBufferBlobFile类型。对于请求参数值为file类型的情况,可以通过FormData对象来构建表单数据,将文件添加到表单中。最后,通过设置请求头Content-Typemultipart/form-data,确保服务器能够正确解析文件数据。示例代码如下:

import http from '@ohos.net.http';

let httpRequest = http.createHttp();
let formData = new FormData();
formData.append('file', fileObject); // fileObject为文件对象

let options = {
  method: 'POST',
  extraData: formData,
  header: {
    'Content-Type': 'multipart/form-data'
  }
};

httpRequest.request(url, options, (err, data) => {
  if (err) {
    console.error(`Request failed with error: ${err.message}`);
  } else {
    console.log(`Response data: ${data.result}`);
  }
});

此方法适用于上传各种类型的文件,如jpg、png、pdf、txt、doc等。

回到顶部