小さな REST API を含むアプリケーションに取り組んでいます。これらのメソッドの 1 つは、PUT 要求で大きな (約 300MB) バイナリ ファイルのアップロードを受け入れる必要があります。
ファイルが非常に大きく、そのような要求が一度に複数実行されるリスクがあるため、要求本文全体をメモリに保持することは避けたいと思います。php://inputストリームから直接読み取り、それをファイルに吸い上げることでこれを行うことを望んでいました。
ただし、コントローラーのinput()メソッドが干渉しているようです。ストリームinput()を読んだらそれはなくなってしまうので、繰り返しアクセスできるように保持しておくという論理的根拠は理解しています。明らかに、これは私がこのインスタンスで回避したい動作です。php://inputinput()
ただし、input()はコントローラー コードが実行される前にどこかで呼び出されているようphp://inputです。
それで、私の質問: CakePHP コントローラが非常に大きなリクエストボディを、最初に全体をメモリにロードせずにディスクにストリーミングする方法はありますか?