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.']);
}
}
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.
Jorge García
Fullstack developer