我正在使用以下代码
dd(URL(env("UserFolder") . \Auth::user()->UserID . "/" . \Auth::user()->UniqueFileName));
给出了以下结果。
http://localhost/SportsApp/public/storage/User17/9.png
有没有办法从此网址中删除公共目录:http://localhost/SportsApp/public/storage/User17/9.png?
我的意思是,是否有任何内置方法可以为我提供存储目录的Url?
答案 0 :(得分:0)
您需要使用正确的Web服务器VH配置。 Set public
directory as root for Laravel project VH
重启服务器并使用http://localhost/img/User17/9.png?
答案 1 :(得分:0)
默认情况下,出于安全原因,用户无法访问您的storage
文件夹,他们只能访问public
。因此,如果您希望从storage
返回一些文件,则应该manually
Route::get('get-file', function() {
return response()->file(storage_path().'path_to_your_file');
});
或者您可以将用户的文件移动到公共目录,并使用asset
获取其上的链接asset(env("UserFolder") . \Auth::user()->UserID . "/" . \Auth::user()->UniqueFileName));
答案 2 :(得分:0)
您的网络服务器DocumentRoot应指向/ path / to / you / laravel / project / public
你可以做这样的事情
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
将这些结合起来就可以得到完整的路径,例如: “/var/www/project/public/img/avatar/generic.svg”