Tutorial de carga de archivos Laravel 9

Tutorial de carga de archivos Laravel 9

¿Qué es la validación de archivos en Laravel??

La validación de Laravel es una forma de realizar un papel de validación. Podemos verificar el tipo de archivo, el tamaño del archivo, etc. La validación de archivos se usa generalmente para evitar cargas de archivos no deseados en un servidor o aplicación.

Hoy aprenderemos sobre la carga y almacenamiento de archivos en Laravel 9.

Los requisitos del proyecto se proporcionan a continuación:

  • Mysql 8.0+
  • Mariadb 10.2+
  • Php 8.1

Aquí hay un ejemplo de definir FileUpload:

  1. Proceso 1. Crear un proyecto FileUpload
  2. Proceso 2. Conexión de la base de datos del proyecto FileUpload
  3. Proceso 3. Cree un modelo y un controlador en el proyecto FileUpload
  4. Proceso 4. Ejecutar y probar el proyecto FileUpload

Proceso 1. Crear un proyecto FileUpload

El paso 1 es ejecutar esta línea de comando para instalar Laravel 9 en nuestro servidor o PC. Para eso, necesitamos abrir el terminal SSH de Windows en la carpeta.

Compositor create-proyect Laravel/laravel fileUpload

Proceso 2. Conexión de la base de datos del proyecto FileUpload

Abre el .Archivo Env en el proyecto FileUpload y agregue un nuevo nombre de base de datos, nombre de usuario y contraseña.

Aquí está el siguiente código:

Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
DB_DATABASE = Nombre de la base de datos de FileUpload
DB_USERNAME = FileUpload Database Nombre de usuario
DB_Password = FileUpload Database Password

Proceso 3. Cree un modelo y un controlador en el proyecto FileUpload

Una vez que la base de datos está conectada, debemos crear un modelo y un controlador para el proyecto FileUpload.

Para eso, necesitamos ejecutar el siguiente comando:

Php Artisan Make: Model FileUpload -MC

Ahora, vaya a “Base de datos \ Migrations \ 2022_07_11_074014_create_file_uploads_table.archivo php ". Este nombre podría ser diferente de tu lado. Ahora, necesitamos poner estas dos líneas en el archivo:

$ table-> string ('file_name')-> nullable ();
$ table-> string ('file_path_location')-> nullable ();

Se ve así

devolver la nueva clase extiende la migración

función pública up ()

Schema :: create ('file_uploads', function (blueprint $ table)
$ table-> id ();
$ table-> string ('file_name')-> nullable ();
$ table-> string ('file_path_location')-> nullable ();
$ table-> timestamps ();
);

Función pública Down ()

Schema :: DropifeXists ('file_uploads');

;

Modificamos nuestro modelo FileUpload en “App \ Models \ FileUpload.PHP ". Agregamos propiedades más rellena allí. El código se muestra a continuación:

Aplicación de espacio de nombres \ modelos;
use Illuminate \ Database \ Eloquent \ Factories \ HasFactory;
use Illuminate \ Database \ ELOQUENT \ Model;
clase FileUpload extiende el modelo

uso Hasfactory;
protegido $ Fillable = [
'Nombre del archivo',
'file_path_location'
];

Ahora, necesitamos migrar la tabla a la base de datos para ejecutar este comando:

PHP Artisan Migrate

Una vez que se completa la migración, necesitamos crear dos funciones. Una función es para ir a la página de carga, y otra es cargar un archivo en el directorio y almacenarlo en la base de datos.

Vaya al "APP \ HTTP \ Controllers \ FileUploadController.archivo php ":

Ahora, agregue este código al controlador:

Función pública FileView (solicitud $ solicitud)

View de retorno ('file-supload');

Y otra función se muestra a continuación:

función pública uploadTheFile (solicitud $ solicitud)

$ reglas = array (
'Adjunto' => 'mimes: jpeg, png, jpg, gif, svg, pdf | max: 1000',
);
$ mensajes = array (
'adjunto' => 'La imagen necesita menos de 1 MB.',
);
$ Validator = Validator :: Make ($ request-> all (), $ reglas, $ mensajes);
if ($ validator-> fails ())
return redirect ()-> ruta ('fileViews')-> con ('éxito', 'agregado con éxito');
return redirect ()-> ruta ('fileViews')-> witherrors ($ validador);
demás
$ imagename = time () . '.' . $ request-> adjunto-> extensión ();
// eliminar la imagen antes de cargar
$ Path = $ request-> adjunto-> Move (public_path ('Storage/Attachment/'), $ ImageName);
$ DepartmentName ['file_name'] = $ ImageName;
$ DepartmentName ['file_path_location'] = $ Path;
FileUpload :: create ($ DepartmentName);
return redirect ()-> ruta ('fileViews')-> con ('error', 'sin archivo agregado');

En la función uploadTheFile, utilizamos el validador.

Creamos esta función para cargar la vista. Por lo tanto, necesitamos crear la vista en la vista de Laravel ubicada en “Recursos \ Vistas \ File-Upload.cuchilla.PHP ".

Construyamos la vista para cargar el archivo.

Copie el código y péguelo en la vista.








integridad = "sha384-0evhe/x+r7ykizdrvuzkmrqm+orbnvfbl6doitfpri4tjfhxawutupfmbp4vmvor" Crossorigin = "anónimo">

>