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 中,你也可以这样做。
<img class="img-responsive" src="URL::to('/')/img/stuvi-logo.png" alt=""/>
【讨论】:
虽然这段代码 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 文件
Laravel Blade 模板 Form::open() 到 Html