2017-05-29 7 views
0

私はLaravel 5.4のIntervention Imageパッケージについて学習しています。私は私のpublic/imagesフォルダに保存されている画像を持っています。Laravel 5.4画像の読み込みが不可能画像の読み込みができない場合の例外

私は、Interventionのページの指示に従ってImageをインストールしました。私のcomposer.jsonファイルに介入を加え、作者のアップデートを実行し、自分のconfig/appファイルを更新し、composer dump-autoloadを実行しました。直接画像画像表示装置(以下、コード ブロックにprintf文)としてアクセス

  • makeメソッドを使用すると、 AbstractDecoder.phpにNotReadableExceptionが発生します。

私はコードに何か間違っていると誰かが見ているか、インストールのステップを逃した可能性がありますか?

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Intervention\Image\Facades\Image; 

class TestController extends Controller 
{ 
    public function imagetest() 
    { 
     printf('<img src="/images/j6.jpg">'); //correctly displays image on page 

     $img = Image::make("/images/j6.jpg")->resize(300, 200); //throws the error 
     return $img->response('jpg'); 
    } 
} 

そしてここでは、「printfの」画像の後にページ上のエラーブロックのリードです:

Whoops, looks like something went wrong. 

1/1 
NotReadableException in AbstractDecoder.php line 339: 
Image source not readable 
in AbstractDecoder.php line 339 
at AbstractDecoder->init('/images/j6.jpg') in AbstractDriver.php line 64 
at AbstractDriver->init('/images/j6.jpg') in ImageManager.php line 50 
at ImageManager->make('/images/j6.jpg') in Facade.php line 221 
at Facade::__callStatic('make', array('/images/j6.jpg')) in TestController.php line 14 
at TestController->imagetest() 
at call_user_func_array(array(object(TestController), 'imagetest'), array()) in Controller.php line 55 
at Controller->callAction('imagetest', array()) in ControllerDispatcher.php line 44 
at ControllerDispatcher->dispatch(object(Route), object(TestController), 'imagetest') in Route.php line 203 
at Route->runController() in Route.php line 160 
at Route->run() in Router.php line 559 
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41 
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148 
+0

laravelでpublic_pathヘルパ関数を使用するとどうなりますか? EG: $ img =画像:: make(public_path( 'images/j6.jpg')) - >サイズ変更(300,200); – Crawdingle

答えて

0

あなたはあなたからfilesystem.Judging内の画像ファイルの完全なパスを提供する必要がありますあなたのイメージタグ、あなたのウェブルートのimagesフォルダーにイメージがあるはずです。あなたはこれを行うことができます。

$imagePath = public_path('images/j6.jpg'); 
$img = Image::make($imagePath)->resize(300, 200); 
+0

ありがとうございます - はい、そうでした。イメージソースはWebルートとの相対的なものであると私は混乱しましたが、Imageメソッドは完全なパスを求めていました。ありがとう。 – JohanTux