- ファイルのアップロードと保存:
Laravelでは、
storePublicly
メソッドを使用してファイルをアップロードし、publicディレクトリに保存することができます。以下は、フォームから画像ファイルをアップロードして保存する例です。
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
public function uploadFile(Request $request)
{
if ($request->hasFile('image')) {
$path = $request->file('image')->storePublicly('public/images');
// 保存されたファイルのパスを取得します
// 他の処理を追加することができます
return response()->json(['message' => 'ファイルが正常にアップロードされました。']);
}
}
上記の例では、storePublicly
メソッドに保存先のディレクトリパスを指定しています。public/images
は、publicディレクトリ内のimages
ディレクトリにファイルを保存することを意味します。
- 保存されたファイルの公開:
保存したファイルを公開するためには、Laravelの
asset
ヘルパー関数を使用します。以下は、保存された画像ファイルのURLを取得する例です。
use Illuminate\Support\Facades\Storage;
public function getImageUrl($filename)
{
$url = Storage::url('public/images/' . $filename);
// 保存されたファイルのURLを取得します
return $url;
}
上記の例では、Storage::url
メソッドを使用して、保存されたファイルのURLを取得しています。$filename
には保存したファイルの名前を指定します。
以上が、Laravelでpublicストレージを使用する方法とコード例です。これにより、ファイルのアップロードと保存、保存されたファイルの公開が行えます。応用することで、画像やその他のファイルを簡単に処理することができます。