Источник изображения не читается в AbstractDecoder. php строка 346 в AbstractDecoder-> init ({путь к изображению}) - PullRequest
0 голосов
/ 07 января 2020

Я использовал интервенционное изображение, чтобы изменить размер изображения для приложения laravel 6. После разработки на локальном сервере, который работал отлично, я пытаюсь загрузить его на общий хостинг, но получаю ошибки.

Image source not readable

Я перепробовал все, что видел в stackoverflow и laracast. но они не работают для меня.

я пытаюсь

  • изменить базовый путь в индексе. html
  • Запуск ссылки на хранилище, в Appserviceprovider
  • удаление public_ html (). работал, но не сохранял изображение в public_ html -> папку хранилища
  • dd () пути запроса, его правильные

мои коды:

index. php:

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 $app->bind('path.public', function() {
    return __DIR__;
});
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 $app->bind('path.public', function() {
    return __DIR__;
});
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

Post Controller, который обрабатывает загрузку изображений

$ image = $ request-> file ('image'); $ imagePath = $ image-> store ('posts', 'publi c'); $ image = Image :: make (public_path ($ request-> file ('image') -> getRealPath ())) -> fit (1263, 864); вернуть $ изображение; $ image-> save ();

    BlogPost::create([
        'title' => $request->title,
        'image' =>  $imagePath,
        'categories' => json_encode($request->categories),
        'isEvent' => $request->isEvent,
        'isEditorial' =>  $request->isEditorial,
        'body' => $request->body,
    ]);


   <form enctype="multipart/form-data" action="{{ route('post.store')}}" method="POST">
            <div class="container">
                @method('post')
                @csrf
                <div class="col-md-12">
                    <div class="card card-outline card-info">
                        <div class="card-body pad">
                            <div class="card card-primary">
                                <div class="card-header">
                                    <h3 class="card-title">Add blog post</h3>
                                </div>

                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-sm-12 col-md-6">
                                            <div class="form-group">
                                                <label for="customFile">Post Title</label>
                                                <input type="text" class="form-control" name="title" id="title" maxlength="250">
                                                <small id="character_txt" class="text-success"><span id="characters">255</span> characters left</small>
                                            </div>
                                        </div>
                                        <div class="col-sm-12 col-md-6">
                                            <label for="customFile">Upload Post image</label>
                                           <div class="input-group input-group-md">
                                                <input type="file" name="image" class="form-control">
                                            </div>
                                        </div>
                                    </div>

                                </div>
                            </div>
                        </div>

                    </div>
                </div>
            </div>
        </form>

Не читаемый источник изображения указывает на make (). Я подтверждаю, что путь к изображению имеет правильный путь. Страница ошибки

1 Ответ

0 голосов
/ 07 февраля 2020

У меня была та же проблема с Intervention и Laravel 6. После многих исследований, которые мне никогда не помогали, я сделал следующее, и это сработало.

  1. Удалите папку ссылки на хранилище внутри публикации. c
  2. Запустите терминал в вашей cpanel, перейдите на ваш проект cd и запустите php хранилище ремесленников: ссылка

Затем я попытался загрузить еще раз, и все работало просто отлично

...