普通にLaravelでWebアプリケーションを作成すると基本的に「画像をDBで扱う」というシーンが出てくると思います。そんな時にネットで調べたら2つの方法が出てくると思うのですが、まとめているサイトがなかなか無かったのでここでまとめようと思います。
<form action="/post" method="POST" enctype="multipart/form-data" class="post_form">
<div class="form-group">
<label for="exampleFormControlFile1">ファイル</label>
<input type="file" name="image" class="form-control-file" id="exampleFormControlFile1">
</div>
<div class="form-group">
<label for="exampleFormControlTextarea1">キャプション</label>
<textarea class="form-control" name="comment" id="exampleFormControlTextarea1" rows="3"></textarea>
</div>
{{ csrf_field() }}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
Laraveではこれが主流のように思われます。
//POSTされた画像ファイルデータ取得しbase64でエンコードする
$image = base64_encode(file_get_contents($request->image->getRealPath()));
// base64エンコードしたバイナリデータを格納
Model::insert([
"comment" => $comment,
"image" => $image
]);
<img src="data:image/png;base64,<?= $image ?>">
以上。