TransWikia.com

Carga de archivos en Laravel, ya en hosting

Stack Overflow en español Asked by Oscar Morales on November 29, 2021

Estoy con un problema en mi aplicación. Armé un sistema donde el cliente debe cargar unos productos con su respectiva imagen.
Pero al subir el proyecto al hosting no encuentro la falla del por qué no carga la imagen.
Debo aclarar que la carpeta de laravel la tengo fuera del public_html, y no estoy usando el dominio principal, sino que uso un dominio extra alojado en el servidor, por eso en el config del path van a ver que no apunta al public_html.

Acá el código:

Controlador

public function store(Request $request)
    {
        $request -> validate(['name' => 'required']);
        $request -> validate(['description' => 'required']);
        $request -> validate(['price' => 'required']);

        $newProduct = new AppProduct;

        $newProduct -> name = $request -> name;
        $newProduct -> description = $request -> description;
        $newProduct -> price = $request -> price;

        if ( $request -> hasFile('photo') ) {
            $file = $request -> file("photo");
            $fileUpload = Storage::disk('public') -> put('img/products', $file);
            $newProduct -> photo = $fileUpload;
        }

        $newProduct -> save();

        return back() -> with('status', 'Los datos fueron guardados.');
    }

filesystem

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            //'root' => storage_path('app/public'),
            'root' => public_path(),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],

y acá tengo registrado el path

public function register()
    {
        $this->app->bind('path.public',function(){
            return'/home1/cliente/dominio.com/carta';
        });
    }

Alguna sugerencia de cuál es el problema?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP