Laravelで画像をアップロードしようとしているのですが、どういうやり方が一般的なのでしょうか?
Laravelには簡単に画像をサーバーにアップロードする機能が備わっていたりするでしょうか?
そもそも僕はWebは初心者で、一般的なWebでの画像の保存方法が分かりません。
DBには画像のパスを保存し、別途サーバーに画像を置いておくのでしょうか?
それともDBにそのままバイナリデータを書き込むのでしょうか?
どなたか画像の保存についてアドバイスをいただきたいです。よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
ベストアンサー
Laravel(5.5)には、Flysystemという多種のストレージシステムに対応できるライブラリをラッピングしたものが組み込まれているので、これを使うのが一般的です。
Laravel 5.5 ファイルストレージ
Flysystem
画像は、基本的には「DBには画像のパスを保存し、別途サーバーに画像を置いておく」という認識が取り回しが効くので良いかと思います。
LaravelでEloquentと組み合わせて画像などのリソースを管理できる、以下のライブラリも使いやすいです。
spatie/laravel-medialibrary
投稿2018/02/08 08:15
総合スコア4106
0
DBには画像のパスを保存し、別途サーバーに画像を置いておくのでしょうか?
それともDBにそのままバイナリデータを書き込むのでしょうか?
あなたがどうしたいかによりますが、一般的にリソース的な負荷を抱えない為にも、画像自体は別サーバーにあげて、laravel側でパスを取得するロジックを組んだり、とかいうやり方が多いように思います。
投稿2018/02/07 16:38
編集2018/02/07 16:39総合スコア615
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
回答ではないです^^;
画像保存方法に関しての質問を紹介します。
データベースに画像を保存するのはありでしょうか?
保存場所に関して、参考になるかと。
投稿2018/02/08 12:29

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/09 00:19

退会済みユーザー
2018/02/09 00:39

退会済みユーザー
2018/02/09 12:28

0
>どういうやり方が一般的なのでしょうか?
>一般的なWebでの画像の保存方法が分かりません。
パッと思いつくのは
・バイナリデータでDBに保存
・ファイルパスをDBに保存
・画像名をDBに保存
・拡張子のみDBに保存(置き場所など命名規則を含めて決まっていて様々な画像拡張子を許可する場合)
・何もDBに保存しない(置き場所など命名規則を含めて決まっていて特定の拡張子のみ許可する場合)
※一番最初のDBに直接保存以外はいずれにしても画面表示時にfile_exists()などでファイルの実体確認は必須
ですが、どれが正しい、一般的ということはありません。
ということで「仕様」や「環境」により というのが回答です。
個人的にルールをしっかり決めるのが好きなので「拡張子のみDBに保存」「何もDBに保存しない」をよく採用しますが、案件により指示や要件があればそれに従います。
いずれも対応経験があるので、本当にどれがってことはないです。
>Laravelには簡単に画像をサーバーにアップロードする機能が備わっていたりするでしょうか?
「Laravel ファイルアップロード」で検索すれば沢山記事が出てきます。
taratailでも質問が結構出ていておおよそ解決されているので、参考にしてみてください。
投稿2018/02/08 01:22
総合スコア80888
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/08 12:23