【问题标题】:Laravel admin image cant access via urlLaravel 管理员图像无法通过 url 访问
【发布时间】:2018-09-04 09:38:19
【问题描述】:

我创建了一个需要上传图片的应用。

我用http://laravel-admin.org/

已全部设置并遵循文档。一切正常,但我的图片无法通过 url 访问

它说404 - Not Found

通过 url 访问时。

检查浏览器已经存在。

这里是我的config/filesystems.php

....
'disks' => [

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

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    'admin' => [
      'driver' => 'local',
      'root' => storage_path('app/public'),
      'visibility' => 'public',
      'url' => env('APP_URL').'/storage',
    ],
....

这里是我的config/admin.php

....
'upload' => [
    'disk' => 'admin',
    'directory' => [
        'image' => 'images',
        'file'  => 'files',
    ],
    'host' => 'http://localhost:8000/upload/',
],
....

任何人都可以帮忙解释一下,卡住了大约 3 个小时 :')

【问题讨论】:

  • 您是否为公共磁盘创建了符号链接?
  • 已经做到了,php artisan storage:link
  • 我猜,如果您已经完成 storage:link,您应该尝试“/storage/images/”,然后将您的图像名称存储在数据库中以显示您的图像。
  • @Shreeraj 已经做到了,但仍然无法正常工作。

标签: php laravel laravel-admin


【解决方案1】:

引用您的资源管理器屏幕,因此图像存储在public disk/images

简单的方法是通过Storage::disk('public')->url('images/'. $image);访问它

如果你想创建另一个磁盘,我可以发布更多代码

你也可以使用 Accessor,在你的模型中添加这个

public function getShowImageAttribute()
{
    return \Storage::disk('public')->url('images/'. $this->attributes['image_column_name_here']);
}

所以你可以像这样在刀片中访问它

{{ $user->show_image }}

【讨论】:

  • 你是什么意思?你想硬编码刀片中的链接吗?哪天你想改变路径名,你需要改变所有的源代码......
  • wtf 我只是将http://localhost 更改为http://127.0.0.1:8000,现在它可以工作了。你能解释一下为什么不一样吗?...
  • 啊我知道,80和8000不一样,伤心。
猜你喜欢
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 2017-06-23
相关资源
最近更新 更多