Php 存储未在laravel中正确链接 考虑下面的配置: 'registry_logo' => [ 'driver' => 'local', 'root' => storage_path('app/public/registry_logo/'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
非常基本,是的,我已经运行了Php 存储未在laravel中正确链接 考虑下面的配置: 'registry_logo' => [ 'driver' => 'local', 'root' => storage_path('app/public/registry_logo/'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],,php,laravel,Php,Laravel,非常基本,是的,我已经运行了php artisan存储:link 那么现在我如何存储上传的徽标呢 public function uploadLogo(UploadedFile $file, RegistrySettings $settings): void { $path = $file->store('registry_logo'); $settings->registry_logo = $path; $settings->save(); }
php artisan存储:link
那么现在我如何存储上传的徽标呢
public function uploadLogo(UploadedFile $file, RegistrySettings $settings): void {
$path = $file->store('registry_logo');
$settings->registry_logo = $path;
$settings->save();
}
这存在于一个服务中,第一个参数是$request->registry\u logo
,它是一个文件(一个必需的文件,因此我们可以假定它不是null)
上传徽标时,生成的链接为:http://127.0.0.1:8000/storage/registry_logo/iuKceIG6XC5b8P5YLh3zMRMWbqGaZikaRP6sMWew.png
所以这看起来不错,我通过:Storage::disk('registry\u logo')->url($registrySettings->registry\u logo)])获取它。
接受它的不好,让我们看两张图片:
如您所见,链接存储中没有registry_徽标文件夹,这毫无意义,因为:
它在储藏室里。怎么回事?为什么它在存储器中,但没有正确链接?我已经清除了缓存多次,但在上传时,它不会在第一张图片中创建注册表_徽标链接
有时,奇怪的是,它会创建registry_徽标文件夹,但其中没有任何内容。我把配置搞砸了吗?我正在正确地存储它,我知道laravel喜欢$request->file('file')->store('disk_name')
,但这种方式也适用于上传文件,只是链接不正确,我想知道是我-可能吧,但我可以在哪里查找
想法?第一个参数是要在磁盘中上载的路径 使用要存储上载文件的路径调用store方法: 您只需在第二个参数中指定要存储到的磁盘
$path=$file->store(''registry_logo');
或者你可以:
$path=Storage::disk('registry_logo')->putFile($file);
有关更多信息: