Laravel 在图像上返回 404

dya*_*rth 2 rest laravel angularjs laravel-4

这应该相当简单,尽管它完全难住了我。

我有一个后端 Laravel 安装在 localhost:8000 上运行

我有一个在 localhost:9001 上运行的前端 Angular 应用程序。

我有一些“静态”图像包含在我的种子数据中(例如“1”、“user.png”),这些图像在我的前端中完美呈现(它们也从我的图像上传的确切位置提供)要去)。

我当前提供图像的 URL 是http://localhost:8000/images/{filename}

我可以将图像从前端上传到后端,它们出现在数据库中,并且图像被放入文件系统中,我在前端填充正确的 URL(如前面的 URL 所示)。

我上传的图片没有显示。

在我的日志中我得到:

  [2015-01-20 18:13:49] local.ERROR: NotFoundHttpException Route: http://localhost:8000/images/j249ae747ce28c317e02f1fb6d0a10c3.jpg [] []
[2015-01-20 18:13:49] local.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException'
Run Code Online (Sandbox Code Playgroud)

我在路线文件中尝试了一种方法,但当我已经提供了一些图像时,我不明白为什么?

我还将 /images 文件夹的所有权限设置为 755。

有任何想法吗?

Ala*_*orm 6

我不确定我是否遵循了您所进行的每一个多系统交互,但我会回到第一个 HTTP 原则。

尝试直接访问图像 URL。

http://localhost:8000/images/j249ae747ce28c317e02f1fb6d0a10c3.jpg
Run Code Online (Sandbox Code Playgroud)

debug如果您的浏览器(或您的日志,如果您没有使用set to进行开发true)中的错误是

local.ERROR:NotFoundHttpException 路线:http://localhost:8000/images/j249ae747ce28c317e02f1fb6d0a10c3.jpg

这意味着您的 Web 服务器无法在 找到文件images/j249ae747ce28c317e02f1fb6d0a10c3.jpg,并将请求交给 Laravel。这意味着您需要弄清楚为什么您的网络服务器看不到该文件。

假设您index.phppublic文件夹中提供服务

  1. 你有public/images/j249ae747ce28c317e02f1fb6d0a10c3.jpg文件吗?

  2. 确定吗?将路径复制并粘贴到终端和 als public/images/j249ae747ce28c317e02f1fb6d0a10c3.jpg以确保您的大脑不会遗漏一些微妙的案例问题

  3. 您的 Web 服务器日志(不是 Laravel 的日志)中是否显示任何错误

  4. 您可以在 images 文件夹中创建一个 text/html 文件并提供它吗?如果没有,那么您可能没有将 Web 服务器指向您认为的文件夹。

就像是

http://localhost:8000/images/test.txt
http://localhost:8000/images/test.html
Run Code Online (Sandbox Code Playgroud)

像这样的调试的一些首要原则应该会为您指明正确的方向。