Saltar al contenido

¿Cómo obtener el contenido de un archivo enviado a través de POST en Laravel 4?

Solución:

Si está publicando un archivo de texto en, ya debería estar en el servidor. Según la documentación de laravel, Input::file devuelve un objeto que extiende la clase php SplFileInfo entonces esto debería funcionar:

$book->SummaryText = file_get_contents($file->getRealPath());

No estoy seguro de si el método php file_get_contents funcionará en el marco de Laravel … si no intenta esto:

$book->SummaryText = File::get($file->getRealPath());

Una mejor solución en lugar de file_get_contents será usar los métodos de clase SPL ya que FileUpload ya los está extendiendo.

$file = Input::file('summary')->openFile();
$book->SummaryText = $file->fread($file->getSize());

Para leer más sobre SplFileInfo y SplFileObject, consulte:

  • http://php.net/manual/en/class.splfileinfo.php
  • http://php.net/manual/en/class.splfileobject.php

Como esos podrían ser realmente útiles y usar SPL, que es OOP, es una mejor solución que las funciones estructurales de PHP.

Desde Laravel v5.6.30 puede obtener el contenido del archivo de un archivo cargado como:

use IlluminateHttpRequest;

Route::post('/upload', function (Request $request) {
    $content = $request->file('photo')->get();
});

fuente: este compromiso

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *