【问题标题】:laravel does't display Image in online hosted serverlaravel 不在在线托管服务器中显示图像
【发布时间】:2016-12-20 00:49:14
【问题描述】:

图片没有显示在网页界面中,但很好并显示在本地主机中。

我使用 Laravel 5.2 制作了一个应用程序,它在 localhost 中是正确的,但是在在线更新它之后,我们遇到了一个非常糟糕的问题。来自数据库的所有图像均未显示在网页界面中。我将图像存储在 Laravel 根目录存储文件夹中,并将图像链接存储到数据库表中。每个图像都获得了准确的存储图像 URL 值,但未正确显示。另外,当我复制图像 URL 并将其粘贴到浏览器中时,它说:

哎呀,好像出了点问题

我正在通过此方法访问图像

<img src="{{url::to('mvimage/'.$image->image) }}" />

我正在使用此方法通过 route.php 访问图像

Route::get('mvimage/{file_name}', function($filename){
  $path = storage_path('app').'\mvimage\\'.$filename;
  $image = \File::get($path);
  $mime = \File::mimeType($path);
  return \Response::make($image, 200)->header('Content-Type', $mime);
});

【问题讨论】:

  • 请先检查您的错误日志并包含任何相关的错误消息。一般 500 错误可能有多种原因。
  • [2016-08-13 04:35:16] production.ERROR: 异常 'Illuminate\Contracts\Filesystem\FileNotFoundException' 带有消息'文件不存在于路径 /home/techubaf/public_html/ local/storage/app\teampics\2016-08-04-10-02-00am437.JPG' 在 /home/techubaf/public_html/local/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:41 堆栈跟踪:这是记录器值
  • 问题是,如果我们想公开访问一张照片,那么我们必须将它存储在公共文件夹中。但我将照片存储在存储文件夹中,laravel 不允许我访问它。实际上文件存在于它指向的位置

标签: php laravel-5.2


【解决方案1】:

我认为问题来自反斜杠..

试试这个

storage_path("app/mvimage/$filename");

注意:

  • 在您看来,您应该使用URL 而不是url 访问外观

  • 在你的路由文件中,你应该在根命名空间,所以在FileResponse之前不需要\

【讨论】:

  • 天啊,很多天后只有这对我有帮助。!非常感谢 PeterPan666,你很棒。
  • 我的快乐老兄;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-18
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
相关资源
最近更新 更多