我一直在尝试在浏览器中显示上传的图片,但没有显示任何内容,因为没有找到。
我的代码是用php编写的,使用laravel 5.5框架,这就是配置
<?php
return [
'default' => env('FILESYSTEM_DRIVER', 'local'),
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],
];
我在控制器中存储的方式是这样的
$path = $request->file('image');
if (! is_null($path)) {
$path = $path->store('public/blog');
}
哪个没问题,
我在刀片模板中调用的方式是这样的:
<a href="{{ route('single.post', $blog->slug) }}">
<img src="{{ asset("storage/app/public/{$blog->image}") }}">
</a>
我已经在终端php artisan storage:link
中运行,但没有显示。
提前致谢
答案 0 :(得分:1)
从路径中删除“/ app / public”,因为您已经运行了storage:link命令,该命令将在公用文件夹中创建一个快捷方式链接到存储文件夹。