如何显示具有绝对路径的图像,避免Laravel添加基本URL?

时间:2019-06-28 09:14:59

标签: laravel-blade absolute-path

我在laravel刀片中显示的图像具有从数据库中获取的绝对路径,它工作正常。 我说的是外部图像。图片网址为“ https://somedomain.name/attachments/blablabla.png”。 但是现在laravel添加了基本网址,但找不到我的图片。 Laravel现在提供:“ https://localhost/https://somedomain.name/attachments/blablabla.png” 即使我添加了,它也会将当前网址添加为图片网址的前缀。如何解决?谢谢

2 个答案:

答案 0 :(得分:0)

如果您使用Laravel,则将直接URL存储到数据库中的错误做法。

  1. 您应该在Laravel公用文件夹中创建自己的文件夹(例如图像),在该文件夹中必须添加图像。
  2. 在上载图像代码时,使用move($ imageName,$ path),应将图像添加到此文件夹,并且仅将图像名称存储在数据库中。您还应该在上传图片时自定义图片名称。
  3. 为使图像路径显示在Blade中,您只能在URL链接url('/ images /'.$ myImage);中使用图像名称。在Blade上,您会得到这样的结果

    <img src={{url('/images/photo.type')}} width="" height="" alt=""/>

答案 1 :(得分:0)

几天后我找到了原因和解决方法。但是现在我有几分钟的时间要回答。 我有这个问题,因为我的csv文件中的网址被引号引起来。因此,我使用该字段的SQL查询删除了所有引号,然后重新加载了页面,一切都变得很完美。 这是我的SQL查询:(用于postgresql)

update public.mytable set img_url= REPLACE(img_url,'"','')

如果遇到此问题,但又不想使用SQL删除引号,则不能在将变量作为url源标记放置之前,使用正在使用的编程语言(此处为PHP)删除引号:

<img src={{url($the_var_trimmed_by_quote)}} alt=""/>

这可能会帮助您:Remove quotes from start and end of string in PHP。但这对我不起作用,因为引号格式看起来不同。您还可以搜索其他方法。但是现在您知道什么会造成此问题,因此查找解决方案将更加容易。 谢谢大家