The Rock
The Rock

Reputation: 413

Upload image in Laravel

I try these code in controller:

public function uploadimage(Request $request)
    {
        if ($request->hasFile('image')) {
            $destinationPath = 'uploads';
            $files = $request->image;
            $file_name = $files->getClientOriginalName();
            $files->move($destinationPath, $file_name);
            echo "Complete";
        } else {
            echo "No File";
        }
    }

My Html input file:

 <input name="image" type="file" id="image"/>

but i can't upload. Any idea?

Upvotes: 1

Views: 2657

Answers (2)

Martin Zeitler
Martin Zeitler

Reputation: 76579

Meanwhile this works differently:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class UserAvatarController extends Controller
{
    /**
     * Update the avatar for the user.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request)
    {
        $path = $request->file('avatar')->store('avatars');
        return $path;
    }
}

Source: Laravel 8 - Filesystem > File Uploads

Upvotes: 0

Siawa Hanif
Siawa Hanif

Reputation: 56

you can use storage::putFile('folder_name', $request->image) this will return automatic generated filename and you can store that in your database.

And make sure your have your default file system set to public and your form has this enctype="multipart/form-data"

Reference https://laravel.com/docs/5.5/filesystem#storing-files

Upvotes: 3

Related Questions