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 16973 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.