LoginSignup
18
12

More than 5 years have passed since last update.

Laravel5で、ダウンロードさせた直後にファイルを削除する

Posted at

子ネタも良いとこなんですがドキュメントになかったのでメモ。

Laravel5でユーザにファイルをダウンロードさせたい場合は、コントローラで以下のように記述します。

return response()->download($pathToFile, $name);

参考:https://laravel.com/docs/5.2/responses#file-downloads

上記でreturnされるのはSymfony\Component\HttpFoundation\BinaryFileResponseオブジェクトですが、こいつはdeleteFileAfterSend()という、リクエストが送信された後にファイルを削除してくれる便利なメソッドを持っています。

というわけで、ダウンロードさせた直後にファイルを削除するには、コントローラで

return response()->download($pathToFile, $name)->deleteFileAfterSend(true);

と返してやるだけでOKです。

18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12