Tach!
Extra für Dich und aus diesem Anlass siehe: Artikel -- leicht verständlich erklärt.
Hab nochwas dazugeschrieben: JavaScript FormData zum Senden mehrerer Content-Types
Kann man so machen, ist aber unnötig komplex. Man muss bei dieser Lösung dafür sorgen, dass ein Temp-Verzeichnis für die Datei zur Verfügung steht, das für den Webserver-Prozess schreibbar ist und dann sich durch $_FILES graben und diese Datei lesen. Wenigstens kümmert sich PHP selbständig um das Löschen der temporären Datei.
Warum sperrst du dich eigentlich so dagegen, die Zeichenfolge, die sozusagen rein zufällig wie ein JSON-Dokument aussieht, als eine einfache Zeichenfolge zu betrachten und so zu behandeln? In Javascript nach dem JSON.stringify() und in PHP vor dem json_decode() sind es lediglich Strings, ohne dass da eine Content-Type-Information drangeschrieben steht. Nur für die Übertragung einen Heckmeck mit dem Content-Type zu veranstalten, bringt keine Punkte. Die Sachlage sähe lediglich dann anders aus, wenn anhand dieses Content-Types die weitere Verarbeitung festgelegt wird. Das scheint mir aber in dem Fall nicht gegeben zu sein.
dedlfix.