Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.4显示404未找到(公共存储)_Php_Laravel - Fatal编程技术网

Php Laravel 5.4显示404未找到(公共存储)

Php Laravel 5.4显示404未找到(公共存储),php,laravel,Php,Laravel,我有一个关于公共存储和存储本身的问题 在我将文件插入存储器之后。 然后在“视图”页面中,我想显示存储到存储器中的文件。 但我有问题,我有错误 加载资源失败:服务器响应的状态为404未找到 我已经运行了php artisan存储:link 该映像存在于公用存储文件夹中 这是我的代码,如何将文件插入存储器 这是我的代码,如何将图像显示到查看页面 我发现我无法访问localhost:8000/public/storage/1.jpg 但是,当我使用localhost:8000/storage/1.jp

我有一个关于公共存储和存储本身的问题

在我将文件插入存储器之后。 然后在“视图”页面中,我想显示存储到存储器中的文件。 但我有问题,我有错误

加载资源失败:服务器响应的状态为404未找到

我已经运行了php artisan存储:link 该映像存在于公用存储文件夹中 这是我的代码,如何将文件插入存储器

这是我的代码,如何将图像显示到查看页面

我发现我无法访问localhost:8000/public/storage/1.jpg

但是,当我使用localhost:8000/storage/1.jpg时,会显示该文件。


谢谢..

您不应该使用资产:

{{ Storage::url($pr->$get_data_slider->file) }}
有关详细信息,请访问

当您使用帮助器资源时,您直接位于公用文件夹中。 所以你的src应该是

src="{{asset('storage/'.$get_data_slider->file.'')}}".
用户可以从浏览器访问的所有内容都位于公用文件夹中,因此您不再需要在url中添加“public”。这就是为什么找不到第一个url localhost:8000/public/storage/1.jpg,而第二个url localhost:8000/storage/1.jpg显示您的图像。 当您使用第一个文件夹时,就像您有另一个名为public的文件夹,其中包含存储文件夹到您的公用文件夹中。

资产-生成指向应用程序资产的URL

url-生成到命名路由的url

asset方法用于包含CSS/JavaScript/images文件,您可以在这种情况下使用它

<link href="{{ asset('css/min.css') }}" rel="stylesheet">
<script src="{{ asset('use.typekit.net/zjb5wvv.js') }}"></script>
<img alt="logo" src="{{ asset('images/logo.png') }}">
这些文件必须位于公用文件夹中

就你而言:

<a href="{{$get_data_slider->link}}" target="_blank"><img src="{{ asset('storage/'.$get_data_slider->file.'') }}" class="d-block w-100"></a>
注意:无需在资产内明确添加公用文件夹

如果使用Vagrant,php artisan storage:链接应该在Vagrant下运行。否则,文件夹映射将是错误的,这就是为什么会得到404的原因之一。
因此,首先运行vagrant ssh,然后找到您的项目文件夹并运行php artisan storage:link。

我必须从vagrant框中运行php artisan storage:link才能使符号链接真正生效。

尝试将存储文件夹的权限更改为777?如何更改存储权限@j、 阿尔伯图雷纳thanks@DevGe您应该使用{{Storage::url$pr->$get\u data\u slider->file}而不是资产@SalmanZafar是的,storage::url laravel helper正在工作,但是为什么该路径不工作/public/storage/并且无法在浏览器中查看它是因为您只是将存储文件夹链接到public,以使存储文件夹中的文件和其他内容可以访问。但实际上,文件的实际路径是存储/filename。这个解决方案是什么和我的有什么不同吗,在这之前的一年?
<link href="{{ asset('css/min.css') }}" rel="stylesheet">
<script src="{{ asset('use.typekit.net/zjb5wvv.js') }}"></script>
<img alt="logo" src="{{ asset('images/logo.png') }}">
<a href="{{$get_data_slider->link}}" target="_blank"><img src="{{ asset('storage/'.$get_data_slider->file.'') }}" class="d-block w-100"></a>