いつ読むか?

  • フロントエンドからファイルダウンロード機能を実装するとき

読書メモ

推奨: ブラウザに委譲する

location.href = '/api/csv';
  • API側で Content-Disposition ヘッダを設定
  • 中断・再開・キャンセル等すべてブラウザ任せ
  • タブを閉じてもダウンロード継続

代替: Fetch + ストリーミング

認証の都合でナビゲーションできない場合に使用。

  • メモリに全データ保持が必要
  • ブラウザのダウンロードUIが使えない
  • 大容量ファイルでメモリ圧迫の可能性あり

結論

設計段階でナビゲーション可能なダウンロード用URLを用意することが最重要。