Laravel 5.5.33图像未显示

时间:2018-02-04 22:24:23

标签: php image laravel

我已经尝试过其他帖子的许多解决方案,但是我在新的laravel安装中的图片无效。我现在正在使用laravel 5.5.33。

我在PUBLIC文件夹中创建了一个名为'img'的新文件夹。 在其中我添加了一个名为logo.jpg的图像。 我尝试了以下方法在清晰的网页上显示该图像。

            {{URL::to('/img/logo.jpg')}}
                (returns a string in the browser)
                In the shell it does say:
                [Sun Feb  4 23:38:14 2018] 127.0.0.1:52626 [200]: /img/logo.jpg
                [Sun Feb  4 23:38:14 2018] 127.0.0.1:52627 [200]: /favicon.ico

            <img src="{{ URL::to('/') }}/img/logo.jpg" alt="" />
                (returns nothing, empty, same result in the shell as above)

            <ing src="{{ asset('/img/logo.jpg' )}}"/>"
            {{ asset('/img/logo.jpg' )}}"
                (returns nothing in the browser, but gives a different response in 
                the shell:
                [Sun Feb  4 23:40:47 2018] 127.0.0.1:53086 Invalid request (Unexpected EOF)
                [Sun Feb  4 23:40:47 2018] 127.0.0.1:53134 [200]: /favicon.ico 
            {{ Html::image('img/logo.jpg') }}

                (returns a string and not an image in my browser: the string 
                says: http://127.0.0.1:8000/img/logo.jpg

            {{ HTML::image('img/logo.jpg') }}
                (returns a broken image icon)

            based on an answer i also tried:
            <img src="{{ asset('img/logo.jpg')}}" alt="" />

但它显示了破碎的图像图标,以及一些图像字符串(不是图片)! (作为文字)

我尝试了什么: 在composer.json文件中,我有:

{"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"illuminate/html": "5.*",
"laravelcollective/html": "5.5.*"
},
}

添加最后一行后,我运行了作曲家更新。

在config / app.php中我添加了:

          Collective\Html\HtmlServiceProvider::class,  

(对提供者数组)

以及以下两个别名。

      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,

甚至以各种方式清除缓存。 (是另一个stackoverflow建议)

我试过了:

  • php artisan:clear
  • php config:cache
  • php config:clear

2 个答案:

答案 0 :(得分:0)

首先,由于您使用的是Laravel 5.5,因此您无需更新app.php,它会自动为您发现该软件包。

其次,您在上面尝试的内容之一是<ing src="{{ asset('/img/logo.jpg' )}}"/>"

我确信这是一个错字。 我建议你这样做:

<img src="{{asset('img/logo.jpg')}}" alt="your-alt-text">

请注意:

  • 不需要&#39; /&#39;在&#34; img&#34;
  • 之前斜线
  • 您需要确保图像确实是jpg或jpeg。

尝试这些并让我们知道结果。

答案 1 :(得分:0)

这是固定的。 我尝试了一切,但没有任何效果,然后我在另一台机器上安装了一个新的php,laravel,composer等,一切都按预期工作,使用相同的代码。

原来我在这台机器上使用了一个过时的PHP版本。我更新了它,重新安装了laravel和composer,现在它按预期工作。