用于Home2磁盘的Spatie媒体库

时间:2020-06-03 16:13:47

标签: php laravel filesystems media-library

Laravel版本:7.6,​​Spatie Medialibrary版本:8.2

我在文件系统中设置了两个磁盘。

'disk1'=>[
   'driver'=> 'local',
   'root'=> storage_path('app/public'),   // /home/mywebsite/source/storage/app/public
   'url'=> env('APP_URL').'/storage',     // https://mywebsite.com/storage
   'visibility'=> 'public
],

'disk2'=>[
   'driver'=> 'local',
   'root'=>'/home2/storage/mywebsite',   // /home/mywebsite/source/storage/app/public
   'url'=> env('APP_URL').'/disk2?url=/home2/storage/mywebsite',     // https://mywebsite.com/disk2?=url
   'visibility'=> 'public
]

当我使用disk1时,它可以按预期工作。 // https://mywebsite.com/storage/1/file1.png

当我使用disk2时,图像按预期保存在正确的位置。 // /home2/storage/mywebsite/1/file1.png

如何调用/ home2磁盘映像?我应该将其链接到公用文件夹中的某个文件夹吗?

我试图解决自己的回调问题。

Route::get('/disk2', 'HomeController@disk2');

public function getImage(Request $request)
    {
        $headers = array(
            'Content-Type: application/image',
        );
        $file=$request->url;
        return response()->file($file, $headers);
    }

以上代码完美显示了disk2的映像。

我的回叫与其他文件管理器完美配合。 (laravel-elfidner,unisharp-filemanager ..)

但是网址显示得很急。 // https://mywebsite.com/disk2?url=/home2/storage/mywebsite/1/file1.png

1.Spatie媒体库是否支持这种情况? 2.有更好的解决方案吗?

谢谢

0 个答案:

没有答案