Tutorial de upload de arquivos Laravel 9

Tutorial de upload de arquivos Laravel 9

O que é validação de arquivo em Laravel?

A validação do Laravel é uma maneira de desempenhar uma função de validação. Podemos verificar o tipo de arquivo, tamanho do arquivo, etc. A validação de arquivo é normalmente usada para evitar uploads de arquivo indesejados em um servidor ou aplicativo.

Hoje, aprenderemos sobre o upload e armazenamento de arquivos no Laravel 9.

Os requisitos do projeto são fornecidos abaixo:

  • MySQL 8.0+
  • Mariadb 10.2+
  • Php 8.1

Aqui está um exemplo de definição do FileUpload:

  1. Processo 1. Crie um projeto FileUpload
  2. Processo 2. Conexão de banco de dados do projeto FileUpload
  3. Processo 3. Crie um modelo e um controlador no projeto FileUpload
  4. Processo 4. Executar e testar o projeto FileUpload

Processo 1. Crie um projeto FileUpload

A etapa 1 é executar esta linha de comando para instalar o Laravel 9 em nosso servidor ou PC. Para isso, precisamos abrir o terminal SSH do Windows na pasta.

Compositor Create-Projeto Laravel/Laravel FileUpload

Processo 2. Conexão de banco de dados do projeto FileUpload

Abra o .Env arquivo no projeto FileUpload e adicione um novo nome, nome de usuário e senha de um novo banco de dados.

Aqui está o seguinte código:

Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
DB_DATABASE = Nome do banco de dados FileUpload
Db_username = FileUpload Banco de dados Nome de usuário
Db_password = senha do banco de dados FileUpload

Processo 3. Crie um modelo e um controlador no projeto FileUpload

Depois que o banco de dados estiver conectado, devemos criar um modelo e um controlador para o projeto FileUpload.

Para isso, precisamos executar o seguinte comando:

PHP Artisan Make: Model fileUpload -mc

Agora, vá para “Database \ Migrações \ 2022_07_11_074014_create_file_uploads_table.arquivo php ”. Este nome pode ser diferente do seu lado. Agora, precisamos colocar essas duas linhas no arquivo:

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

Parece isso

Retornar nova classe estende a migração

função pública up ()

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

função pública para baixo ()

Schema :: Dropifexists ('file_uploads');

;

Modificamos nosso modelo FileUpload em “App \ Models \ FileUpload.php ”. Adicionamos propriedade preenchida lá. O código é mostrado abaixo:

namespace app \ modelos;
Use Illuminate \ Database \ Eloquent \ Factories \ Hasfactory;
Use iluminado \ Database \ Eloquent \ Model;
Classe FileUpload estende o modelo

use hasfactory;
$ preenchável protegido = [
'nome do arquivo',
'file_path_location'
];

Agora, precisamos migrar a tabela para o banco de dados para executar este comando:

PHP Artisan migra

Depois que a migração é concluída, precisamos criar duas funções. Uma função é para ir para a página de upload, e outra é fazer upload de um arquivo no diretório e armazená -lo no banco de dados.

Vá para o “app \ http \ controllers \ fileUploadController.arquivo php ”:

Agora, adicione este código ao controlador:

Função pública FileView (solicitação $ solicitação)

retornar visualização ('arquivo-upload');

E outra função é mostrada abaixo:

Função pública UPLOPLEFILE (solicitação $ solicitação)

$ regras = matriz (
'Anexo' => 'Mimes: jpeg, png, jpg, gif, svg, pdf | max: 1000',
);
$ mensagens = array (
'Anexo' => 'Imagem precisa de menos de 1 MB.',
);
$ validator = validator :: make ($ request-> all (), $ regras, $ mensagens);
if ($ validator-> fails ())
Retornar Redirect ()-> Route ('FileViews')-> com ('Sucesso', 'Adicionado com sucesso');
return redirect ()-> route ('fileViews')-> witherrors ($ validator);
outro
$ imageName = time () . '.' . $ request-> anexamento-> extension ();
// Remova a imagem antes de fazer upload
$ path = $ request-> anexamento-> move (public_path ('armazenamento/anexo/'), $ imageName);
$ departmentName ['file_name'] = $ imageName;
$ departmentName ['file_path_location'] = $ path;
FileUpload :: CREATE ($ DepartmentName);
retornar redirect ()-> rota ('fileViews')-> com ('erro', 'nenhum arquivo adicionado');

Na função UploadThefile, usamos o validador.

Criamos esta função para fazer upload da visualização. Assim, precisamos criar a visualização na visualização Laravel localizada em “Recursos \ Views \ File-Upload.lâmina.php ”.

Vamos construir a visualização para fazer upload do arquivo.

Copie o código e cole -o na vista.








Integrity = "SHA384-0EVHE/X+R7YKIZDRVUZKMRQM+ORBNVFBL6DOITFPRI4TJFHXAWUPUPFMBP4VMVOR" Crossorigin = "Anonymous">

>