[英]Laravel storage link doesnt link with public
尝试将我的文件上传到存储,并将其与我的公用文件夹链接。
我用了
php artisan storage:link
然后,我上传如下照片;
$filename = uniqid().".".$file->getClientOriginalExtension();
$filePath = 'uploads/announcement';
Storage::disk('public')->putFileAs($filePath, $file, $filename, ['visibility' => 'public']);
$announcement->photo = $filename ?? $announcement->filename;
但是当我上传文件时,我的 /public/storage 文件夹是空的。 它出什么问题了?
我的文件系统.php 在下面;
'public' => [
'driver' => 'local',
'root' => storage_path(),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
这就是我这样做的方式(在 livewire 中,但 storePubliclyAs 不是 livewire)
if($this->image != null){
$imageName = time().'.'.$this->image->extension();
$company->image= $imageName;
// on upload l image dans le folder
$this->image->storePubliclyAs('companylogos',$imageName);
}
companylogos 是 (storage/app) 中的文件夹名称
我和你第一次有同样的问题,你需要确保你的文件夹是链接的,因为你需要在文件夹上看到一个小标志,比如一个链接标志,这意味着两个文件夹是同步的(链接的),错误是创建两个文件并尝试链接它们:不,您必须先创建 storage/app/companylogos 文件夹,然后使用 artisan 链接 php artisan storage:link
当然你需要在配置文件系统中准备好你的文件,我就是这样做的
'links' => [
public_path('storage') => storage_path('app/public'),
public_path('profilecv') => storage_path('app/profilecv'),
public_path('companylogos') => storage_path('app/companylogos'),
],
我认为您必须更改文件系统
filesystem.php 在下面;
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.