首页 > 解决方案 > Laravel,如何在没有符号链接的情况下从存储中获取文件?

问题描述

我的存储有问题。如何在没有符号链接的情况下从存储中获取文件?

当我尝试从文件存储中获取视频到 HTML 视频标签时,我得到了“禁止”或“不允许加载本地资源”。

控制器 :

$url = Storage::url($file);  
return view('video')->with('url',$url);

HTML标签:

<video width="600" height="400" controls>
         <source src="{{url($url)}}" type="video/mp4">
         Your browser does not support the video tag.
         Votre navigateur ne supporte pas le lecteur vidéo.
</video>

谢谢你的帮助 :)

标签: laravellaravel-storage

解决方案


存储的想法是它可能驻留在您的网络服务器无法访问的地方,或者至少可以公开访问。它可能是一个文件夹,可能是 S3 存储,也可能是其他东西。

您需要做的是定义专门下载视频文件的路径。您可以在控制器代码中生成该路由的临时签名 URL:https ://laravel.com/docs/7.x/urls#signed-urls

将该签名的 URL 发送到视图。现在浏览器将从签名的 URL 加载视频。您需要创建路由和控制器功能以从存储中加载文件并将其发送到浏览器:https ://laravel.com/docs/7.x/filesystem#downloading-files


推荐阅读