3 marzo, 2021
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.
 
              
                Suscríbete a nuestro canal en Youtube
SuscríbirsePara 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.
Leido 17613 veces | 3 usuarios
Descarga del código fuente Laravel de Cómo subir un PDF con Laravel 8
Accede al código fuente esencial de nuestra aplicación en formato ZIP ó TXT. Ideal para desarrolladores que desean personalizar o integrar nuestra solución.
Opciones de descarga
- Usuarios Registrados: Inicia sesión para descarga inmediata.
- Nuevos Usuarios: Regístrate y descarga.
 
                         
                         
                 
                 
                 
                 
                             
                             
                            