Ajax, custom request-header
bearbeitet von 1unitedpower> ~~~
> xhr.setRequestHeader("Content-Type", "application/octet-stream");
>
> daraus wird:
>
> Content-Type: application/octet-stream; charset=UTF-8
> ~~~
In bestimmten Fällen ergänzt und/oder verändert der Browser diverse Header-Informationen.
Nachzulesen ist das in der [Spezifikation](https://xhr.spec.whatwg.org/#the-setrequestheader()-method) von setRequestHeader(), dort steht in einer Notiz, dass beim Senden Header-Informationen ggf. geändert werden. Folgt man dem Link zur send()-Spezifikationen, stellt man dort unter Punkt 4 fest, dass bei bestimmten [Typen des body-Parameters](https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send-bodyinit) (Blob, BufferSource, FormData, URLSearchParams und USVString) der Content-Type-Header gesetzt wird. Und zwar in einer Weise, die dort auch näher Beschrieben ist.
Von hier aus, solltest du dein beschriebenes Verhalten nun selber ergründen und ggf. auch reparieren können.