Loading app/Http/Controllers/ContactoController.php +41 −2 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use App\Models\Profesion; use App\Models\Subgrupo; use Illuminate\Http\Request; use Illuminate\Support\Str; class ContactoController extends Controller { Loading Loading @@ -43,8 +44,17 @@ public function store(Request $request) 'foto_perfil' => 'image|mimes:jpeg,png,jpg,gif|max:2048', 'nombre' => 'required|max:255|string', ]); $contacto = Contacto::create($request->all()); dd($request->all()); $path_file = $this->storeProfilePicture($request); $data = $request->all(); if ($path_file) { $data['foto_perfil'] = 'storage/' . $path_file; } $contacto = Contacto::create($data); dd($data); } /** Loading Loading @@ -78,4 +88,33 @@ public function destroy(Contacto $contacto) { // } /** * Save profile picture in laravel project */ private function storeProfilePicture(Request $request) { if ($request->hasFile('foto_perfil')) { // Obtener el archivo de la solicitud $file = $request->file('foto_perfil'); // Generar un UUID de versión 4 $uuid = Str::uuid()->toString(); // Obtener la extensión del archivo $extension = $file->getClientOriginalExtension(); // Crear el nuevo nombre de archivo $filename = $uuid . '.' . $extension; // Almacenar el archivo en el directorio storage/app/public/fotos_perfil $path = $file->storeAs('public/fotos_perfil', $filename); // Retornar la ruta del archivo sin el prefijo 'public/' return str_replace('public/', '', $path); } // Retornar null si no hay archivo return null; } } Loading
app/Http/Controllers/ContactoController.php +41 −2 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use App\Models\Profesion; use App\Models\Subgrupo; use Illuminate\Http\Request; use Illuminate\Support\Str; class ContactoController extends Controller { Loading Loading @@ -43,8 +44,17 @@ public function store(Request $request) 'foto_perfil' => 'image|mimes:jpeg,png,jpg,gif|max:2048', 'nombre' => 'required|max:255|string', ]); $contacto = Contacto::create($request->all()); dd($request->all()); $path_file = $this->storeProfilePicture($request); $data = $request->all(); if ($path_file) { $data['foto_perfil'] = 'storage/' . $path_file; } $contacto = Contacto::create($data); dd($data); } /** Loading Loading @@ -78,4 +88,33 @@ public function destroy(Contacto $contacto) { // } /** * Save profile picture in laravel project */ private function storeProfilePicture(Request $request) { if ($request->hasFile('foto_perfil')) { // Obtener el archivo de la solicitud $file = $request->file('foto_perfil'); // Generar un UUID de versión 4 $uuid = Str::uuid()->toString(); // Obtener la extensión del archivo $extension = $file->getClientOriginalExtension(); // Crear el nuevo nombre de archivo $filename = $uuid . '.' . $extension; // Almacenar el archivo en el directorio storage/app/public/fotos_perfil $path = $file->storeAs('public/fotos_perfil', $filename); // Retornar la ruta del archivo sin el prefijo 'public/' return str_replace('public/', '', $path); } // Retornar null si no hay archivo return null; } }