Laravel 5.3不显示已保存的图像

时间:2017-02-28 12:47:27

标签: php laravel intervention

我有一个函数,我从api端点导入数据。从该端点我得到一个json对象数组,其中每个对象都有一个图像链接。我正在上传图像并在我的函数中保存数据,如下所示:

 $imageName = uniqid(true) . '-' . $paper['foldername'];
                    $path = public_path('uploads/' . $imageName);
                    Image::make('http://' . $paper['thumb_medium'])->save($path);

                    Issue::create([
                      'magazine_id'   => $paper['magazineId'],
                      'title'         => $paper['title'],
                      'date'          => $paper['date'],
                      'foldername'    => $paper['foldername'],
                      'image'         => $imageName,
                    ]);

我在我的应用的首页显示上传的图片。显示大多数图像,但有些图像不显示。在DB中,创建的每个Issue在image字段中都有一个值。在检查uploads文件夹时,将为每个Issue创建包含原始图像数据的文件。但是在首页上仍然没有显示某些问题的图像,即使我看不到显示的图像和不显示的图像之间的任何差异。 我已经检查过那些我没有显示图像的图像,如果我获得了图像的链接,并且该图像存在于该链接上,请执行以下操作:

dd($paper['thumb_medium']))

图像确实存在于我提供的链接上,但是在本地上传图像后没有显示图像。 在本地检查链接:

http://myapp.app/imagecache/medium/158b56a0bee986-B%C3%A5tliv

我明白了:

  

RouteCollection.php第161行中的NotFoundHttpException:

我不知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

解决方案1 ​​

更改laravel public目录中的.htaccess。

添加此

RewriteCond %{REQUEST_URI} !^/imagecache

在此行之前

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

解决方案2

将文件扩展名添加到文件中。与158b56a0bee986-B%C3%A5tliv.jpg

一样