TsgcWebSocketHTTPServer › プロパティ › HTTPUploadFiles
HTTP POST 経由でアップロードされたファイルのバッファリング方法(メモリまたはファイルストリーム)とディスクへの保存を制御します。
property HTTPUploadFiles: TsgcHTTPUploadFilesServer read FHTTPUploadFiles write SetHTTPUploadFiles;
StreamType=pstMemoryStream, MinSize=0, RemoveBoundaries=True
デフォルトでは、HTTP POST でアップロードされたファイルはメモリにバッファリングされます。これは小さなペイロードには便利ですが、大きなファイルには問題があります。StreamType を pstFileStream に設定すると、アップロードを直接ディスクにストリーミングします。MinSize はペイロードがファイルストリームにリダイレクトされる前の最小サイズ(バイト単位)です(pstFileStream がアクティブなときに 0 を指定すると、すべてのアップロードがディスクに書き込まれます)。SaveDirectory は保存先フォルダー(空の場合はアプリケーションディレクトリがデフォルト)です。RemoveBoundaries(デフォルト True)は保存前に multipart/form-data の境界を除去します。詳細は 大きなファイルの POST のトピックを参照してください。
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HTTPUploadFiles.StreamType := pstFileStream;
oServer.HTTPUploadFiles.SaveDirectory := 'c:\uploads\';
oServer.HTTPUploadFiles.MinSize := 0;
oServer.HTTPUploadFiles.RemoveBoundaries := true;
oServer.Active := true;