Bypass JSON-defaulting helpers for multipart uploads
A shared fetch helper that automatically adds Content-Type: application/json for every nonempty body will corrupt browser-managed multipart uploads. Keep JSON defaults for JSON bodies, but use a dedicated FormData request path that passes the body without a Content-Type header so the browser supplies the multipart boundary.
This rule applies to browser file-upload flows. It does not validate server multipart size limits, accepted media types, malware handling, filename safety, or authorization; test those separately at the server boundary.