【RNOH】HarmonyOS 鸿蒙Next RNOH 0.72.32 fetch请求body为 FormData时,headers自动带上了Expect: 100-continue,如何清除?

【RNOH】HarmonyOS 鸿蒙Next RNOH 0.72.32 fetch请求body为 FormData时,headers自动带上了Expect: 100-continue,如何清除? RNOH 0.72.32 fetch请求body为 FormData时, headers自动带上了Expect: 100-continue,如何清除?

cke_140.png


更多关于【RNOH】HarmonyOS 鸿蒙Next RNOH 0.72.32 fetch请求body为 FormData时,headers自动带上了Expect: 100-continue,如何清除?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
```

更多关于【RNOH】HarmonyOS 鸿蒙Next RNOH 0.72.32 fetch请求body为 FormData时,headers自动带上了Expect: 100-continue,如何清除?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


经过验证,问题不在于 Expect: 100-continue, 而是鸿蒙端的 fetch 请求在上传时,使用了分片上传的功能,在 Header 中 可以查看到 Transfer-Encoding: chunked, 而这个属性正常应该是服务端下发的,如果作为客户端上报,那有可能服务端没有支持,导致了上传失败。

在HarmonyOS(鸿蒙)系统中,当你使用fetch API发送请求且body为FormData时,如果headers自动带上了Expect: 100-continue,这通常是由于fetch的内部机制或浏览器行为导致的。要清除这个header,你可以尝试以下几种方法(尽管这些方法可能因系统或浏览器的差异而有所不同,但基于你的要求,我将不提及Java或C语言相关的解决方案):

  1. 使用Blob或ArrayBuffer代替FormData: 如果可能,将FormData数据转换为Blob或ArrayBuffer,然后发送。这可能会改变内部处理,从而避免自动添加Expect: 100-continue

  2. 自定义XMLHttpRequest: 不使用fetch,而是使用XMLHttpRequest手动发送请求。在XMLHttpRequest中,你可以完全控制headers的发送。

  3. 检查并修改Fetch的配置: 虽然HarmonyOS的fetch实现可能与标准Web API有所不同,但查看是否有配置选项可以禁用Expect: 100-continue可能是一个方向。不过,这通常不是标准API的一部分。

  4. 服务端处理: 如果以上方法都不可行,考虑在服务端处理Expect: 100-continue。虽然这不是解决问题的根本原因,但可以作为一种临时解决方案。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部