Safari(iOS および macOS)にてFormDataでのファイル送信に失敗する

iOS上の全てのブラウザ、および、macOS上のSafariにて、FormDataを使ってinput[type=file]を含むフォームの内容を送信しようとした際に、ファイルが添付されていないと処理が失敗します。これは、Safariの不具合で、iOS11.3以降で発生しているようなのですが、Safariのせいにしたところで問題は解決しません。

ということで、この不具合を回避するコードを作成しました。

参考:iOS11.3でAjax通信ができなくなった時の対処法 | サラトガIT日記