2016-09-03 2 views
0

ジョブキューに画像を埋め込むのに奇妙な問題があります。
私は開発のためにWAMPを使用しています。私のプロジェクトのための フォルダ構造は はC:\ WAMP \ MyProjectの &パブリックディレクトリが Cにある:\ WAMP \ WWW \アプリLaravel、ジョブキューに画像を埋め込む問題

Mail::send('emails.mailtemplate_rule', ['body' => $data['body']], function ($message) use ($data) { 
    $message->to($data['to']); 
    $message->from($data['from'], $data['namefrom']); 
    $message->subject($data['subject']); 
}); 

<img src="{{ $message->embed('assets/images/logo.png')}}" alt='MyProject' data-default="placeholder" data-max-width="300">

これはうまく動いていますが、ドライバを 'sync'から 'database'に変更し、メール機能を以下のように更新すると、

Mail::queue('emails.mailtemplate_template', ['body' => $data['body']], function ($message) use ($data) { 
    $message->to($data['to']); 
    $message->from($data['from'], $data['namefrom']); 
    $message->subject($data['subject']); 
}); 

上記を実行すると、私のジョブテーブルにデータエントリが表示されます。 私は、コマンドを実行するとき:ストリームをオープンに失敗しました:そのようなファイルやディレクトリ

これは、[エラー例外]
のfopen(資産/画像/ logo.pngが)

はありません例外としてスロー php artisan queue:work

イメージを削除すると、チャームとして機能します。 今私はそれが画像を見つけることができない理由ジョブキューを使用しないで、それは画像に&がメールに埋め込まれて見つけることができますかと思っています。 必要に応じて動作するはずです。
これに関するお手伝いをいたします。

<img src="{{ $message->embed(asset('images/logo.png'))}}" alt='MyProject' data-default="placeholder" data-max-width="300"> 

asset()

+0

それはあなたのパスが相対的であるので..私はおそらく – Jaimin

+0

を推測許可の問題です。参照:http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory –

答えて

1

変更

<img src="{{ $message->embed('assets/images/logo.png')}}" alt='MyProject' data-default="placeholder" data-max-width="300"> 

はlaravelのヘルパークラスの一つです。 Official Documentation

それが正常に動作します。..

+0

私のためにうまくいった。ありがとう – ba1ar

+0

私はlaravelと1年以上一緒に働いていますが、今まで見たことのないものがあります。もう一度@Jaimin – ba1ar

+0

心配しないでください。コミュニティをより強くしてくれてありがとう.. – Jaimin

関連する問題