- 基本的な画像アップロード:
まず、Laravelのフォームリクエストを使用して、送信されたフォームデータをバリデーションします。次に、アップロードされた画像を保存するために、
store
メソッドを使用します。
public function store(Request $request)
{
$request->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048',
]);
$imagePath = $request->file('image')->store('public/images');
// 保存された画像のパスをデータベースなどに保存する処理
return '画像が正常にアップロードされました。';
}
- 画像のリサイズ:
アップロードされた画像のリサイズが必要な場合は、Laravelの
Intervention Image
ライブラリを使用することができます。まず、ライブラリをインストールし、次に以下のようにコードを追加します。
use Intervention\Image\Facades\Image;
public function store(Request $request)
{
$request->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048',
]);
$image = $request->file('image');
$resizedImage = Image::make($image)->fit(800, 600)->encode('jpg');
$imagePath = 'public/images/' . uniqid() . '.jpg';
Storage::put($imagePath, $resizedImage);
// 保存された画像のパスをデータベースなどに保存する処理
return '画像が正常にアップロードされ、リサイズされました。';
}
- アップロードされた画像の表示:
アップロードされた画像を表示する場合は、Laravelの
asset
ヘルパーを使用して、パブリックディレクトリ内の画像へのパスを生成します。
<img src="{{ asset('storage/images/example.jpg') }}" alt="アップロードされた画像">
上記のコード例は、Laravelで画像をアップロードするための基本的な手順と、画像のリサイズ、表示方法を示しています。さまざまな要件に応じて、これらのコード例をカスタマイズすることができます。