ファイル送信
Salvo では以下の方法でファイルを送信できます:
NamedFile
Salvo は salvo::fs::NamedFile を提供しており、これを使用してクライアントに効率的にファイルを送信できます。ファイル全体をキャッシュに読み込むのではなく、リクエストの Range に基づいて部分的な内容を読み込み、クライアントに送信します。
実際には、Response::send_file は NamedFile の簡易的な使用法です。ファイル送信をより細かく制御する必要がある場合は、NamedFileBuilder を使用できます。
NamedFile::builder を使用して NamedFileBuilder を作成できます:
設定を行った後、ファイルを送信できます:
静的ファイル提供
静的ファイルや埋め込みファイルをサービスとして提供するミドルウェアです。
StaticDirはローカルの静的フォルダをサポートします。複数のフォルダのリストを引数として渡すことができます。例:
最初のフォルダに対応するファイルが見つからない場合、2番目のフォルダで検索します。
rust-embedのサポートを提供します。例:
with_fallback を使用すると、ファイルが見つからない場合に指定したファイルで代替できます。これは一部のシングルページアプリケーション(SPA)で有用です。