9. Subir imágenes
En este capítulo, aprenderás a agregar la funcionalidad de subida de imágenes a tus componentes de Livewire.
6 comentarios
Inicia sesión para comentar
Comentarios:
-
Enrique hace 1 mes
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 6 meses
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 6 meses
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 9 meses
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.
-
H. Javier Peláez hace 10 meses
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.
-
H. Javier Peláez hace 10 meses
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.