【Laravel5.5】アップロード&ダウンロード処理の実装

こんにちは。
今日はLaravelでのアップロード処理と、ダウンロード処理について備忘録として残しておきます。

バージョンはLaravel5.5です。

では、まずはアップロード処理から。

 

アップロード処理

 

画面側(XXXX.blade.php)

<input id=”fileName” type=”file” name=”fileName”>

これだけです。
重要なのは、File=”type”であること。

 

 

Controller側(XXXX.Controller.php)

やってることは、画面側からfileNameというファイル入力された情報を受け取って、
アップロード処理をしています。

その際に、ファイル名を取得しているのは、
ファイル名をDB登録するためです。

 

public function store(Request $request)
{
//アップロードしたファイル名を取得
$filename = $request->file(‘fileName’)->getClientOriginalName();

// ファイル保存
$path = $request->file(‘fileName’)->store(‘public’);

return $path;
}

スポンサードリンク

ダウンロード処理

途中でこんなエラーがずっと出て意味が分借りませんでしたが、
どうにか解決しました。
「ファイルパスが存在しません。」という内容です。
The file “storage/app/public/filename.pdf” does not exist

Laravel5.5のダウンロード処理は非常に簡単。

たった2行で出来ます。
※ファンクション全体だと5行です。

処理イメージは、
1.画面のダウンロードボタン押下
2.download処理が実行される
という感じです。

ルーティングの設定などが必要なので、そこもお忘れなく。

 

public function download()
{
$pathToFile = storage_path(“app/public/filename.pdf”);

return Response()->download($pathToFile);

}

 

ではでは。

スポンサードリンク

コメントを残す

サブコンテンツ

このページの先頭へ