загрузка изображения с неработающим laravel, - PullRequest
0 голосов
/ 13 мая 2018

У меня есть вопрос относительно загрузки изображения с помощью laravel. Я сделал кнопку загрузки в моем блейд-файле, чтобы загрузить изображение. Я следую всем шагам на сайте: http://image.intervention.io/getting_started/installation#laravel Я искал ответ в течение 2 часов на Google, видя, что у многих людей была такая же проблема, как у меня ...
Таким образом, в основном, в моем контроллере я могу поймать свое изображение с помощью запроса, выполнив dd (), но есть проблема в верхней части страницы. Использование Image не работает и, конечно, также "Image :: make, изменить размер и т. Д. ... Я пробую разные настройки, но ни один из них не работает ....

У кого-то есть идеи, как поступить? вот мой файл:

файл лезвия:

   <div class="col-md-8">
      <form  method="POST" enctype="multipart/form-data">
         {{ csrf_field() }}
          <div class="content">
            <h1>Create a new artist or band:</h1>
                <div class="form-group">
                    <div class="col-lg-6">
                        <input class="form-control" type="text" name="artistName" placeholder="Artist Name" >
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-lg-6">
                        <input class="form-control" type="text" name="musicGenre" placeholder="Music genre" >
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-lg-6">
                        <input type="file" name="picture">
                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-lg-6">
                        <a class="btn btn-primary" href="{{route('show-artist') }}" > Back </a>
                        <button class="btn btn-success" type="submit"> {{ 'Submit' }}</button>
                    </div>
                </div>
        </div>
        @if (count($errors))
            <div class="form-group">
                <div class="alert alert-danger">
                    <ul>
                        @foreach($errors->all() as $error)
                            <li> {{  $error }}</li>
                        @endforeach
                    </ul>
                </div>
            </div>
        @endif
    </form>
</div>

Вот мой контроллер:

namespace projetconcert \ Http \ Controllers;

use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use projetconcert\Http\Requests\ArtistRequest;
use projetconcert\Artist;
use Intervention\Image\Image as Image;
/*use Image;*/





class ArtistController extends Controller
{
    /**
     * Display a listing of the differents artists & bands.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $data = Artist::all();
        return view('artists.artist',
                    [
                        'artists'=>$data,
                    ]
        );
    }

    /**
     * @Get("/create-artist")
     */
    public function getCreateArtist()
    {
        return view ('artists.create.edit');
    }

    /**
     * @Post("/create-artist")
     *
     * @param Request $request
     * @param ArtistRequest $artistRequest
     *
     * @return \Illuminate\Http\RedirectResponse
     */
    public function postCreateArtist(Request $request, ArtistRequest $artistRequest)
    {


        $artistRequest-> validated($request);

        try
        {
            $name = $request->input('artistName');
            $musicgenre = $request->input('musicGenre');
            $picture = $request->file('picture');

            $filename = time(). '.' . $picture->getClientOriginalExtension();

            Image::make($picture)->resize(300, 300)->save(public_path('../images/uploads/pictures/' . $filename));


            $artist = new Artist();
            $artist->artist_name = $name;
            $artist->music_genre = $musicgenre;
            $artist->picture = $filename;
            $artist->save();

            flash()->success('Your artist or band have been created !');
        }
        catch (\Exception $e)
        {

            flash()->error("Your artist or band haven't been created !");

            return redirect()->back();
        }

        return redirect()->route('show-artist');
    }


}

Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Так что, очевидно, проблема была в этой ошибке ->

Поддержка GD GD => включена версия GD заголовков => 2.2.5 Версия библиотеки GD => 2.2.5 gd.jpeg_ignore_warning => 1 => 1 GDMSESSION=> ubuntu $ _SERVER ['GDMSESSION'] => ubuntu

Я решил это следующим образом:

sudo apt-get update

sudo apt-get install php7.1-й

перезагрузка sudo / opt / lampp / lampp

Я надеюсь, что это может помочь кому-то, кто имеет такую ​​же проблему: -)

Еще раз спасибо за ваши несколько ответов.

0 голосов
/ 13 мая 2018

Вы выполнили все эти шаги

  1. Установка образа вмешательства

    композитор требует вмешательства / изображение

  2. В вашем файле config / app.php добавьте следующее

    В массиве $ provider добавьте поставщиков услуг

    Intervention\Image\ImageServiceProvider::class

    и добавьте фасад этого пакета в массив $ aliases

    'Image' => Вмешательство \ Image \ Facades \ Image :: class

  3. Теперь в вашем контроллере вы можете написать

    использовать изображение;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...