[英]Laravel 5.6 Storage::download file not found
我正在使用Laravel 5.6,filesystems.php配置默认值。
当文件上传时,我在我的数据库中记录了路径列,其路径记录如下:posts / p4NbvgcxHFcT10TwbS2UUJrajifPcqpN3i7iSyyk.png
创建了符号链接,文件存储在公共目录中。
$path = $file->store('posts', 'public');
此路径是DB的记录器,如果我想显示例如图像,我可以通过以下方式访问它:
{{ asset('/storage/'.$file->path) }}
但是,当我尝试强制下载时,它会获得异常 - 在路径中找不到FileNotFoundException文件:
文件下载方法:
public function downloadFile($id){
$file = File::find($id);
//return Storage::download(storage_path()."/app/public/".$file->path, $file->original_name);
//also tried like this
return Storage::download(asset('storage/'.$file->path), $file->original_name);
}
应用程序在Windows操作系统上运
解决方案是: return Storage::disk('public')->download($file->path);
尝试这个:
return Storage::download(storage_path('app/public/'.$file->path), $file->original_name);
如果使用asset()
,则会调用所选目录的文件。 如果可以在存储文件夹上调用文件,请使用Storage::class
facade
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.