我正在尝试将一些文件上传到Laravel中的特定“磁盘”,然后从这些文件中检索URL。
这是我的config/filesystem.php
文件:
'disks' => [
...
'thumbnails' => [
'driver' => 'local',
'root' => storage_path('app/public/pictures/thumbnails'),
'visibility' => 'public',
],
...
],
这是我处理上传文件的方式(非常基本,仅用于测试目的):
Route::post('upload', function(Request $request) {
$file = $request->file('file');
$path = $file->storeAs('/', 'myFile.'.$file->getClientOriginalExtension(), 'thumbnails');
return dd($path);
});
创建了文件/storage/app/public/pictures/thumbnails/myFile.jpg
,这很好,但$path
等于"myFile.jpg"
而不是完整路径。第一件奇怪的事。
然后,如果我使用:
$url = Storage::disk('thumbnails')->url('myFile.jpg');
$url
等于"/storage/myFile.jpg"
而不是"/storage/app/public/pictures/thumbnails/myFile.jpg"
。
我错过了什么吗?
答案 0 :(得分:0)
默认情况下,磁盘url
方法正好在docs中所述的/storage
前面。
要自定义网址,请在您的配置中添加url
:
'thumbnails' => [
'driver' => 'local',
'root' => storage_path('app/public/pictures/thumbnails'),
'visibility' => 'public',
'url' => 'the url',
],