Cómo subir un PDF con Laravel 8

Para hacer upload de archivos pdf podemos usar copy, antes creamos un formulario y creamos el método para subir validando el archivo correspondiente.

¿Cómo subir un PDF con Laravel 8?

Para hacer upload de archivos pdf podemos usar copy, antes creamos un formulario y creamos el método para subir validando el archivo correspondiente. 

¿Que Rutas debemos considerar para subir un pdf a nuestro servidor?

Básicamente dos rutas. la primera que permita llamar a un formulario , en este caso la ruta será /form de tipo get...Y la segunda ruta será post /guardar la cual invocará a un método llamado mguardar para procesar la subida y validación del archivo pdf


Route::get('/form', [App\Http\Controllers\PdfController::class, 'mform'])->name('form');
Route::post('/guardar', [App\Http\Controllers\PdfController::class, 'mguardar'])->name('guardar');

 

¿Cuáles son los métodos del Controlador PdfController a tener en cuenta?

Para nuestra aplicación web, crearemos un controlador exclusivamente para gestionar tanto la ruta get como post respectivamente.

El primer método llamado mform

  • solo nos retorna la vista tambien llamada mform,

El segundo método mguardar :

  • Recibe el request del formulario,
  • Verifica si realmente es un archivo con hasFile
  • Luego almacena en una variable $file toda la información o data del archivo a subir
  • En la variable nombre creamos un nombre nuevo con la misma extensión del archivo a subir
  • En la variable $ruta formamos la ruta completa a la cual será copiado el archivo pdf. 
  • Hacemos una comparación para ver si la extensión corresponde a un archivo pdf si es asi procedemos a copiar el archivo con la función copy y caso contrario pues ejecutamos la función dd que en este caso detiene la ejecución del flujo de la aplicación para mostrar un mensaje.
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PdfController extends Controller
{
    public function mform(){
        return view('mform');
    }

    public function mguardar(Request $request){
        if($request->hasFile("urlpdf")){
            $file=$request->file("urlpdf");
            
            $nombre = "pdf_".time().".".$file->guessExtension();

            $ruta = public_path("pdf/".$nombre);

            if($file->guessExtension()=="pdf"){
                copy($file, $ruta);
            }else{
                dd("NO ES UN PDF");
            }



        }
    }
}

 

¿Qué atributos debe tener el formulario para subir un archivo con PHP?

Vista o view a implementar con el formulario

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
          
            <form action="/guardar" method="post" enctype="multipart/form-data" >
                @csrf
                <input type="file" name="urlpdf" >
                <input type="submit" value="subir">
            </form>
   
        </div>
    </div>
</div>
@endsection

Podemos apreciar que:

  • El formulario tiene el action para ir a ruta post
  • El formulario tiene el atributo method con el valor post
  • El formulario tiene el atributo enctype con el valor multipart/form-data
  • Habilitamos el token de Laravel para el formulario
  • declaramos un input de tipo file con el atributo name urlpdf
  • finalmente invocamos un input de tipo submit para subir el pdf.

 

 

¿Quieres descargar el código fuente Cómo subir un PDF con Laravel 8?
...por favor suscríbete gratuitamente para descargarlo

Laravel

Download

Comparte el código!...talvez tu amigo lo necesite!

Whatsapp Messenger Facebook Twitter

Visitado 318 veces | Publicado hace 1 mes

Curso Laravel 8 Página Web 100% Administrable

Mira el temario del curso en el siguiente link

VER EL CURSO

Logo Codea App

Develop your code

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021