9. Subir imágenes
En este capítulo, aprenderás a agregar la funcionalidad de subida de imágenes a tus componentes de Livewire.
7 comentarios
Inicia sesión para comentar
Comentarios:
-
Christian Torres hace 1 año
Hola, estoy tratando de subir archivos PDF en lugar de una imagen pero no se como puedo recuperarlos para mostrarlos. Cambie de local a public y lo guarda en una carpeta llamada Documentos. Como puedo hacer para mostrarlos.
Gracias
-
Victor Arana Flores hace 1 año
Hola, se puede mostrar imagenes no pdf.
-
Christian Torres hace 1 año
Hola, ya lo resolví, gracias
-
-
Enrique hace 1 año
Mi Código:
Cambiar el path de acceso de local a public en config/filesystems.php:
```php
'default' => env('FILESYSTEM_DRIVER', 'public'),
```Crear imágenes falsas en database/factories/PostFactory.php:
```php
class PostFactory extends Factory
{
public function definition()
{
return [
'title' => $this->faker->sentence(),
'content' => $this->faker->text(),
'image' => 'posts-images/' . $this->faker->image('public/storage/posts-images', 640, 480, null, false), // con false me regresa solo: imagen.jpg
];
}
}
```
Crear la carpeta posts-images/ en database/seeders/DatabaseSeeder.php:
```php
<?phpnamespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Storage;class DatabaseSeeder extends Seeder
{
public function run()
{
Storage::deleteDirectory('public/posts-images');
Storage::makeDirectory('public/posts-images');
\App\Models\Post::factory(100)->create();
}
}
```Ahora Ejecutar los Seeders:
```bash
php artisan migrate:fresh --seed
``` -
Carlos Sánchez hace 2 años
Hola, ya hice todo lo sugerido en los comentarios acerca de de cambiar el driver de local a public tanto en filesystems como en .env, agregué las dos líneas de código en el archivo Image.php en la carpeta vendor, incluso utilice el fakerphp picsum images, hice todo y logré que ejecute el seeder pero lo que hace es crear el archivo de la imagen y luego borrarlo uno por uno hasta que la carpeta queda vacía...alguien me podría explicarme por qué hace eso? y que solución hay?
-
Francisco Jesús Adán Viedma hace 2 años
Hola, otra solución para descargar imágenes puede ser añadirlas con Intervention\Image tal que así
$path = 'https://picsum.photos/640/480.jpg';
$filename = uniqid() . '.jpg';
Image::make($path)->save(public_path('storage/posts/' . $filename));
return [
'image' => 'posts/' . $filename
];
-
H. Javier Peláez hace 2 años
Este es mi código:
// faker para img
$faker = \Faker\Factory::create();
$faker->addProvider(new \Smknstd\FakerPicsumImages\FakerPicsumImagesProvider($faker));
return [
'url' => 'posts/' . $faker->image('storage/app/public/posts', 640, 480, false),
];
No olvides que en el return debes cambiar a $faker.
Un saludo.
-
Arturo Coello Mendez hace 2 años
Excelente amigo, me funciono gracias por compartir
-
Javier Luna hace 1 año
Muchas gracias, me ayudo, funciona correctamente.
-
-
H. Javier Peláez hace 2 años
He encontrado una forma de resolverlo. Encontré las claves en esta librería, que trabaja con picsum.Y lo mejor es que descarga imágenes de verdad, no colores. Les comparto el enlace: https://github.com/smknstd/fakerphp-picsum-images
Un abrazo a todos. Y gracias Victor por el curso.
-
Daniel Torres hace 2 años
¡Excelente aporte! El problema en mi caso es que tengo PHP 7.4 y requiere mínimo PHP 8.0
-
Matías Agustín Benítez hace 2 años
Hola Javier. Gracias por el aporte. Aún así, no he podido lograr que funcione el código. Seguí los pasos expuestos en https://smknstd.medium.com/fake-beautiful-images-in-laravel-51062967d1db y también en https://github.com/smknstd/fakerphp-picsum-images. Todos los “paths” de las imágenes que me genera son ‘0’. ¿Podrías decirme que hiciste específicamente para que te funcionara? Grcias y saludos
-
Matías Agustín Benítez hace 2 años
Mientras ejecuto las migraciones, si miro la carpeta posts veo como se vean creando y eliminando automáticamente todas las imágenes. Se ve que a pesar de que toma las imagenes de otra librería, el funcionamiento es el mismo que el del Faker común.
-
-
H. Javier Peláez hace 2 años
Hola Victor. En Laravel 9 no se descargan las imágenes con Faker. Ni siquiera usando los códigos que pusiste en You Tube. Un abrazo.
-
Victor Arana Flores hace 2 años
Hola Javier, lee los comentarios fe YouTube, ahí colocaron la solución para Laravel 9 hace poco
-