HarmonyOS HTTP post 传 Uint8Array 二进制数据,服务端收到数据不一致

具体代码如下:其中sendData 为Uint8Array 二进制数据

let headerData = {
  'Accept-Encoding': 'gzip'
} as Record<string, string>;
let httpRequset = http.createHttp()
let options: http.HttpRequestOptions = {
  method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
  // 当使用POST请求时此字段用于传递请求体内容,具体格式与服务端协商确定
  extraData: sendData,
  // expectDataType: http.HttpDataType.ARRAY_BUFFER, // 可选,指定返回数据的类型
  usingCache: true, // 可选,默认为true
  priority: 1, // 可选,默认为1
  header: headerData,
  readTimeout: 10000, // 可选,默认为60000ms
  connectTimeout: 10000, // 可选,默认为60000ms
};
httpRequset.request(url, options, (err: Error, data: http.HttpResponse) => {
  if (!err) {
    console.info('Result:' + data.result);
    console.info('code:' + data.responseCode);
    console.info('type:' + JSON.stringify(data.resultType));
    console.info('header:' + JSON.stringify(data.header));
    console.info('cookies:' + data.cookies); // 自API version 8开始支持cookie
  } else {
    console.info('error:' + JSON.stringify(err));
  }
})
HarmonyOS
2024-12-20 17:30:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

当’content-Type’为’application/octet-stream’时,该字段对应的类型通常为ArrayBuffer;把Uint8Array 转成arrayBuffer

let arrayBuffer: ArrayBuffer = new ArrayBuffer(8);
let uint8Array: Uint8Array = new Uint8Array(arrayBuffer);
let buffer: ArrayBuffer = uint8Array.buffer.slice(0)

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5

分享
微博
QQ
微信
回复
2024-12-20 19:45:30
相关问题
HarmonyOS Uint8Array转16进制
1108浏览 • 1回复 待解决
HarmonyOS 二进制转16进制
1065浏览 • 1回复 待解决
HarmonyOS POST请求,服务端拿不到数据
2067浏览 • 1回复 待解决
HarmonyOS list中item数据显示效果不一致
1093浏览 • 1回复 待解决
HarmonyOSUint8Array
1231浏览 • 1回复 待解决
HarmonyOS 单位不一致问题
1101浏览 • 1回复 待解决
HarmonyOS SM2加密后数据与Java不一致
1255浏览 • 1回复 待解决
HarmonyOS进制二进制方法
1222浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
807浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
1186浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
1509浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
2592浏览 • 1回复 待解决
如何对二进制进行AES解密?
1396浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
1273浏览 • 1回复 待解决
Uint8Array是@Sendable类吗?
1219浏览 • 1回复 待解决
jsbind--二进制包导入指导
1775浏览 • 1回复 待解决
HarmonyOS uint8Array转字符串
1378浏览 • 1回复 待解决