Volver a la página principal
domingo 7 julio 2024
18

Cómo validar un MIME type en Laravel

En el controlador FileUploadController, añade los métodos para mostrar el formulario y para manejar la subida del archivo:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class FileUploadController extends Controller
{
    public function showUploadForm()
    {
        return view('upload');
    }

    public function storeUpload(Request $request)
    {
        $request->validate([
            'file' => 'required|mimetypes:image/jpeg,image/png,application/pdf|max:2048',
        ]);

        if ($request->file('file')->isValid()) {
            $path = $request->file('file')->store('uploads');

            return back()->with('success', 'File uploaded successfully to ' . $path);
        }

        return back()->withErrors(['file' => 'File upload failed.']);
    }
}

Explicación de la Validación

En el método storeUpload, usamos $request->validate() para validar el archivo. Las reglas utilizadas son:

  • required: Asegura que el archivo sea proporcionado.
  • mimetypes: Verifica que el archivo subido sea de uno de los tipos MIME especificados (image/jpeg, image/png, application/pdf).
  • max:2048: Asegura que el tamaño del archivo no exceda 2MB.
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer