本地上傳
先添加存儲配置,config/filesystems.php 添加一項(xiàng) disk:
'disks' => [
... ,
'admin' => [
'driver' => 'local',
'root' => storage_path('app/admin'),
'url' => env('APP_URL') . '/admin',
'visibility' => 'public',
'throw' => false,
],
],
最下面 links
'links' => [
public_path('storage') => storage_path('app/public'),
// 這個(gè)是再增加一個(gè) link
public_path('admin') => storage_path('app/admin'),
],
然后選擇上傳的 disk,打開 config/admin.php 找到:
'upload' => [
'disk' => 'admin', // 原本默認(rèn)的值是 public
],
然后執(zhí)行 php artisan storage:link ,會將兩個(gè)文件軟連接
ERROR The [public/storage] link already exists.
INFO The [public/admin] link has been connected to [storage/app/admin].
對應(yīng)的訪問路徑是 http://localhost/admin/images/xxx.png
后臺如果想顯示,則使用 $grid->column('image', '圖片')->image(); 即可
如果想在前臺顯示,則可以使用 config('filesystems.disks.admin.url').'/images/xx.png',這種方案,不管filesystems.disks.admin.url',怎么修改,都可以正常訪問
封裝方法
if (!function_exists('adminImageUrl')) {
/**
* 獲取后臺上傳的
* @param string $image
* @return string
*/
function adminImageUrl($image)
{
return config('filesystems.disks.admin.url') . '/' . $image;
}
}