Laravel 5未在子文件夹中加载图像

Posted

技术标签:

【中文标题】Laravel 5未在子文件夹中加载图像【英文标题】:Laravel 5 not loading images in subfolder 【发布时间】:2015-09-05 00:48:19 【问题描述】:

我正在为我的 laravel 5 项目中的错误寻找解决方案。我的项目在 public_html 文件夹中,所以我的项目运行良好,除了子文件夹中的图像。

这是我的项目结构:

根 laravel public_html index.php 图片 用户 default.jpg

我有一个名为 workspace.blade.php 的主模板,在脚本标签中我有一个 js 变量来引用我的项目文件夹图像:

<!-- Scripts -->
    <script type="text/javascript">
        var Url = ' URL::asset('/'). Lang::getLocale() /';
        var resourcesUrl = Url + 'resources/';
        var imagesUrl = ' URL::asset('images') ';
        var jsUrl = ' URL::asset('js/') ';
    </script>

所以我在一个 EJS Javascript 模板中打印我的图像:

<img src="<%= imagesUrl + '/users/default.jpg' %>">

但浏览器控制台总是显示以下错误:

GET http://mydomain.com.co/users/default.jpg 404 (Not Found)

如果我尝试从“images/”文件夹加载图像,效果很好,但如果我尝试从“images/users/”等图像加载子文件夹内的图像,则不再有效。

我已经直接打印了网址,但什么也没发生。错误是laravel将url重定向到路由集合中的路由,并抛出路由错误。

我不知道我是否必须修改我的 .htaccess 文件,但就是这样:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]

谢谢你的帮助!

【问题讨论】:

此路径相关问题。图片的 URL 错误,因为您尝试从不存在的路由加载和图片 另请注意,您不能从公用文件夹访问资源文件夹。一种选择是将图像移动到公用文件夹,或者您可以通过使用图像包(如干预图像)动态生成图像来从资源文件夹加载图像 感谢 Digitlimit。路线存在。它根本无法在生产中运行,因此在开发中一切正常。我的图像不在资源文件夹中,因为我的 laravel 安装在根文件夹中。公共文件夹位于我服务器的 public_html 文件夹中。 如果它在开发服务器中工作,那么可能是 htacess 问题 【参考方案1】:

你不见了images

<img src="<%= imagesUrl + '/users/default.jpg' %>">

应该是

 <img src="<%= imagesUrl + '/images/users/default.jpg' %>">

【讨论】:

当我检查 DOM 时,我看到了正确的路由,所以我的 laravel 应用程序总是在 routes.php (RouteCollection) 中寻找路由,为什么主文件夹 images/ 加载良好? @Brian 你能在这个网址看到你的图片吗http://mydomain.com.co/images/users/default.jpg【参考方案2】:

我终于找到了错误。只是我的“图像/用户”文件夹和里面的文件没有正确的权限。它有 640 个权限,所以我将其更改为 644。

【讨论】:

以上是关于Laravel 5未在子文件夹中加载图像的主要内容,如果未能解决你的问题,请参考以下文章

Vue 路由器未在 Laravel 应用程序中加载页面

NextJs App 在 Azure Web App 中部署时未在 nextjs 公用文件夹中加载图像

带有laravel的DOMPDF - 无法在html文件中加载图像

Laravel 未在 Ubuntu 中加载内页 - 找不到 404

图像未在 Flutter 中加载

图像未在flutter android中加载