我正在使用最新的laravel 7.x。
问题是:正如标题所述,Laravel为什么不通过公共目录提供服务。 我在storage / app / public / img / Logo_original.png中有一张图片,在storage / app / public / css / style.css
中有一张CSS当我试图获取以太之css或img时,我从服务器返回404错误。
这些代码存在于app.blade.php中:
css:<link rel="stylesheet" href="{{ asset('css/style.css') }}">
如果我使用inspect元素并检查源,那是css目录,并且在style.css文件中,但是它是空的!
img:我已经尝试了很多方法,但最后一种是:
@php
$url = asset('img/Logo_original.png');
print('<img src='.$url.'>');
@endphp
我已经看了4个教程和3种Stackoverflow方法,但是不幸的是,没有一个方法可以帮助我解决问题。
请帮助我解决这个难题。
答案 0 :(得分:1)
如Laravel上的官方文档所述,您需要:
public/storage
创建从storage/app/public
到php artisan storage:link
的符号链接echo asset('storage/img/Logo_original.png');
(在路径中包含storage
)创建资产的URL。作为资产助手功能,将创建一个指向公用文件夹的URL。 img不存在,但是在上面的步骤1中,您已经在storage
文件夹中创建了一个名为public
的符号链接。因此正确的网址为http://localhost:8080/storage/img/Logo_original.png
,可以使用上述网址创建echo asset('storage/img/Logo_original.png');