【问题标题】:Image not found with Laravel's blade使用 Laravel 的刀片找不到图像
【发布时间】:2016-04-02 12:31:16
【问题描述】:

我使用的是 Laravel 5.1,逻辑是:用户上传图片。它不在公共目录中,而是在存储目录中(因为我读到存储目录是私有的)。我想将图像的路径放在 src=" " 属性中,但找不到图像。我试过了:

<img class="getImage" src="http://localhost/bluedrive/drive/storage/uploads/1/DSC_8816.jpg">
<img class="getImage" src="C:\xampp\htdocs\bluedrive\drive\storage\uploads\1\DSC_8816.jpg">

但是没有成功...为什么找不到图片?

【问题讨论】:

    标签: php html laravel


    【解决方案1】:

    存储目录是私有。这意味着它无法通过浏览器访问。如果你想显示图像,你需要在 public 的某个地方使用它,或者你需要创建一个 proxies the private images 的 Laravel 路由(可能在首先检查用户的权限之后才能看到它们)。

    旁注:C:\... 语法永远不会适用于网站,您应该避免明确写出http://localhost/ 类型的 URL。为此,请使用 Laravel 的 urlasset 助手。

    【讨论】:

    • 嗯...我也将同一张图片放在公共目录中并写道:src="localhost/bluedrive/drive/public/uploads/1/DSC_8816.jpg">但它又不可见
    • 删除 /public 并尝试喜欢 localhost/bluedrive/drive/uploads/1/…,这可能对您有帮助 stackoverflow.com/questions/28214499/…
    • @Alex 应该是http://localhost/bluedrive... 而不是localhost/bluedrive...
    • @ThomasKim 它与 http:// 但对于我删除它的示例,不知道为什么。反正-localhost/bluedrive/drive/public/uploads/1/DSC_8816.jpg还是没找到
    • @Alex StackOverflow 删除了 http:// 以获得更清洁的 cmets。您可能希望使用&lt;img src="{{ url('uploads/1/DSC_8816.jpg') }}"&gt;bluedrive/drive/public 不应成为您网站 URL 的一部分 - 在良好的设置中这些目录不可公开访问。
    猜你喜欢
    • 2022-10-12
    • 2018-12-08
    • 2019-01-31
    • 2017-03-15
    • 2021-01-07
    • 1970-01-01
    • 2020-04-21
    • 2016-09-09
    • 2014-07-05
    相关资源
    最近更新 更多