Laravel Blade html 图片

Posted

技术标签:

【中文标题】Laravel Blade html 图片【英文标题】:Laravel Blade html image 【发布时间】:2015-07-03 16:25:03 【问题描述】:

我的图片文件路径是public/img/logo.png 和 我的 app.blade.php 文件路径是resources/views/app.blade.php

在我的 app.blade.php 文件中,我使用 html::image('/img/stuvi-logo.png') 显示图像。 我不明白为什么这找不到图像。image()方法的根目录是什么?

【问题讨论】:

public/img/logo.png 无法在/img/stuvi-logo.png 获得,我的意思是,即使文件名不同。这是问题还是您的程序中的错字? 如果你检查你的渲染代码,你会看到什么?它的网址是否正确? 【参考方案1】:

它将在 public/storage 文件夹中查找图像,您可以在其中定义自己的 image 文件夹

<img src=" Storage::url($post->image->path) " >

始终尝试转储您首先要查找的内容,然后将其传递给 url 方法。

另外,如果你有一些,你可以在你的 Image 模型中创建你自己的 url() 方法

public function url()

    return Storage::url($this->path);

然后在您的刀片模板中,您可以按如下方式使用此方法:

<img src=" $post->image->url() " >

【讨论】:

【参考方案2】:

假设您要显示的文件是公开的,请尝试在您的邮件构建器函数中添加变量。

public function toMail($notifiable)

    $img_url = env('APP_URL')."/img/stuvi-logo.png";

    return (new MailMessage)
                ->subject('Test')
                ->markdown('vendor.mail.markdown.message', [
                                                    'data' => $this->data,
                                                    'img_url'=>$img_url
        ]);

然后使用电子邮件刀片文件中数组中设置的“img_url”变量。

< img src=img_url  />

这在 Laravel 8.xx 上对我有用。

【讨论】:

【参考方案3】:

可以使用asset()直接访问图片文件夹。

<img src="asset('img/stuvi-logo.png')"  class="img-size-50 mr-3 img-circle">

【讨论】:

【参考方案4】:

到目前为止,您可以使用

<img src=" asset('images/foo.png') " >

【讨论】:

也适用于background-image 属性 是的,当然,它会按预期工作,因为它是由 php 处理的。 适用于 laravel 8【参考方案5】:

在我的情况下,这非常有效

<img  style="border-radius: 50%;height: 50px;width: 80px;"  src="<?php echo asset("storage/TeacherImages/$studydata->teacher->profilePic")?>">

此代码用于显示文件夹中的图像

【讨论】:

【参考方案6】:

在 Laravel 5.x 中,你也可以这样做。

&lt;img class="img-responsive" src="URL::to('/')/img/stuvi-logo.png" alt=""/&gt;

【讨论】:

虽然这段代码 sn-p 可以解决问题,但它没有解释为什么或如何回答这个问题。请include an explanation for your code,因为这确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。【参考方案7】:

更改 /img/stuvi-logo.png 改为 img/stuvi-logo.png

 HTML::image('img/stuvi-logo.png', 'alt text', array('class' => 'css-class')) 

生成以下 HTML

<img src="http://your.url/img/stuvi-logo.png" class="css-class" >

【讨论】:

【参考方案8】:

如果你使用 bootstrap,你可能会使用这个 -

 <img src="URL::asset('/image/propic.png')"   >

注意:在 public 文件夹中创建一个名为 image 的新文件夹,然后将您的图像放在那里。使用URL::asset()可以直接访问public文件夹。

【讨论】:

【参考方案9】:

与 laravel 5.3.. 有同样的问题。 我就是这样做的,而且非常容易。 例如刀片页面视图中的徽标

****<image img src="/img/logo.png" ></image>****

【讨论】:

【参考方案10】:

在 Laravel 5.x 中,您可以使用 laravelcollective/html 和语法:

!! Html::image('img/logo.png') !!

【讨论】:

无关!! Html 包已从 Laravel 5 中删除。您仍然可以使用它,但您需要在框架中明确包含该包。我认为值得一说... 我更正了答案以指定 laravelcollective/html 包 安装 Forms & HTML 集合包 (5.3) 后,接受答案中的语法和这个都可以使用。这个答案不需要大写HTML ..我偶然发现了那个..

以上是关于Laravel Blade html 图片的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - Blade @yield 在向用户提供 html 时忽略标签

Laravel Blade @include .html 文件

渲染 HTML 标签 Laravel 5 Blade 模板

Laravel Blade 模板 Form::open() 到 Html

Laravel 5.1 Ajax 从 Blade View 获取 html

在 Laravel Blade 模板中添加图像输入元素