[英]Laravel 5.5 get file after uploading with Storage
在我的Laravel 5.5项目中,我在显示上传的文件时遇到问题。 我使用存储上传了文件。 控制器的存储动作部分如下所示。
if ($request->hasFile('content_uz'))
{
$path = $request->file('content_uz')->store('/content/lesson'.$topic->lesson->id.'/topic'.$topic->id);
$data->content_uz = $path;
}
if ($request->hasFile('content_ru'))
{
$path = $request->file('content_ru')->store('/content/lesson'.$topic->lesson->id.'/topic'.$topic->id);
$data->content_ru = $path;
}
上传成功。 上载“ content_uz”文件的路径与“ storage / app / content / lesson2 / topic3”路径存储在一起,content_uz列存储在我的数据库中,如下所示:
内容\\ lesson2 \\ topic3 \\ WSjrlG9a1ermGDOvRJTjn9iEIhfFvhVzjaOs6l79.mp4
如何在Blade模板中显示文件? 我在网上搜索,但没有结果。
您可以使用这样的方法,
public function showFile() {
header("Content-type: video/mp4");
return Storage::get($filePath);
}
我希望这将有所帮助。
您可以通过两种方式访问storage
目录的文件。
如果您的文件可以公开访问,则可以遵循laravel公共磁盘 。
如果文件是受保护的或私有的,则可以声明访问文件的路径。
Route::get('content/{lesson}/{topic}/{file}', function($lesson, $topic, $file) { //Check access logic $filePath = '/content/' . $lesson . '/' . $topic . '/' . $file; return Storage::get($filePath); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.