Laravel 5.3 - 使用 @extends 和 @sections 无法显示来自 public 文件夹的图像

12 浏览
0 Comments

Laravel 5.3 - 使用 @extends 和 @sections 无法显示来自 public 文件夹的图像

第二次更新:

不知何故,home.blade.php中我在.header_table中使用的display: table;导致图片无法显示。

更新:

我应该提到我正在尝试在@section(我喜欢称之为"partials")中显示一张图片。当我在main.blade.php中使用{{ Html::image('images/max.jpg') }}链接时,图片正常显示。

我的问题是:

如何在@section(partials)中显示一张图片?

project_name/public/images/max.jpg - 路径确认

views/pages/home.blade.php

@extends('main')
@section('content')
    Laravel
    
    
    
    
    
    
    
    
           {{ Html::image('images/max.jpg') }}
                

Welcome

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. @endsection

views/vendor/main.blade.php

    
        
    @yield('content')

之前:

我只是想显示一个保存在我的项目里的图片。

我按照这个(https://laravelcollective.com/docs/5.2/html)更新了我的composer.json文件和app.php。然后运行composer update。

我尝试了:


{{ Html::image('public/images/max.jpg') }}
{{ HTML::image('public/images/max.jpg') }}
{{!! Html(or HTML)::image('public/images/max.jpg') !!}}

现在:

{{URL::asset("public/images/max.jpg")}}
{{ Html::image('images/max.jpg') }}

但我一直得到那个图片图标,但没有图片。类似于这个人的经历(Image not displaying in view. Laravel)。当我尝试那个答案中的asset()方法时,它不起作用。

有什么建议吗?

编辑:将image.jpg更改为max.jpg

编辑:添加新尝试

0
0 Comments

问题的原因是在Laravel 5.3中,使用@extends和@sections来显示public文件夹中的图像时出现问题。解决方法是使用asset()辅助方法生成路径,然后在img的src属性内echo该路径。

以下是解决方法的代码示例:


假设您的项目中有一个路径为your_project/public/images/max.jpg的max.jpg图像文件。

希望这对您有所帮助!

0
0 Comments

问题原因:在Laravel 5.3中,使用@extends和@section来显示来自public文件夹的图片时,出现了问题。

解决方法:

1. 首先,在config/filesystems.php文件中设置文件驱动程序:

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

这将允许您将图片存储在storage/app/public目录中。

2. 假设您将图片存储在storage/app/public/your_storage_directory目录中,那么按照以下步骤操作:

$image = request()->file('banner');
$path = $image->store('your_storage_directory', 'public');
// 将$path持久化到您的表中

$path将包含类似于your_storage_directory/3ca37bc0cdf2f71eeadf60057c71154b.jpeg的内容。

3. 然后运行以下命令创建一个符号链接,将public目录指向storage/app/public目录:

php artisan storage:link

4. 然后,您只需要在blade文件中使用以下语法从public文件夹中访问图片:


以上就是在Laravel 5.3中使用@extends和@section显示public文件夹中的图片的问题的原因和解决方法。

0
0 Comments

问题的原因是在使用LaravelCollective的Html Facade时,在图像路径中使用了额外的目录。解决方法是去掉路径中的"public/"。

问题的另一个原因是在子视图中添加了所有的脚本和CSS到父视图中。解决方法是只在子视图中添加所需的脚本和CSS。

最后的输出结果是没有图像和链接的错误,删除"public/"后图像可以正常显示。

以下是整理后的

如果您正在使用LaravelCollective的Html Facade,那么您在图像路径中使用了额外的目录。正确的路径应该是去掉"public/"后的路径。

在子视图中添加所有的脚本和CSS到父视图中是错误的。应该只在子视图中添加所需的脚本和CSS。

最后的输出结果是没有图像和链接的错误,删除"public/"后图像可以正常显示。

以上就是关于Laravel 5.3中使用@extends和@sections显示public文件夹中图像的问题的原因和解决方法。希望对您有帮助。

0