2017-12-22 17 views
1

私はプロフィール画像を作成したいAvatarアップロードしてすべてのユーザーのプロフィールに表示します。プロフィールにアバター画像を追加するLaravel 5

私の方法では動作しません。

マイアバターアップロードコード:

<div class="form-group"> 
     <div class="form-group"> 
      <label for="exampleInputFile"><img src="/img/photos.png" height="80" width="80"> Upload Avatar:</label> 
      <input type="file" id="exampleInputFile" name="profileimage"></font></br> 

     </div> 
     </div> 

誰もがプロフィールでそれを参照してくださいコード:

 <div class="pull-left margin-left-25"> 
@if($user->profileimage == false) 
<img src="/img/icon.png" height="80" width="80"> 
@endif 
@if($user->profileimage == true) 
<img src="{{$user->profileimage}}" height="80" width="80"> 
@endif 

ProfileControllerの画像コンテンツ(私にとってはいけない作業):

if ($request->hasFile('image')) { 

     $file = $request->file('profileimage'); 

     $size = $request->file('profileimage')->getSize(); 
     if ($size > 500000) { 
      session()->flash('errormessage','Image is too large'); 
      return redirect()->back()->withInput(); 
     } 
     if (substr($file->getMimeType(), 0, 5) !== 'profileimage') { 
      session()->flash('errormessage','File is not an image'); 
      return redirect()->back()->withInput(); 
     } 

     if ($file->isValid()) { 
      $path = $request->profileimage->store('uploads','public'); 
     } else { 

      session()->flash('errormessage','Image is not valid'); 
      return redirect()->back()->withInput(); 
     } 

     } 



    if ($request->image !== null) { 
      $product->image = $path; 
      } 

何I間違っている?

ありがとうございます!

+0

をエラーを表示しますか?あなたのフォームに 'enctype =" multipart/form-data "を追加しましたか? –

答えて

0

Validatorクラスを使用しない理由は、コード化したものよりずっと簡単です。以下のように、

$this->validate($request, [ 
    'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:500000', 
]); 

上記のコードをファイルを保存する方法の中に追加してください。

それはあなたのために妥当性検査を行い、ファイルで何をしたいかを続けます。より多くのオプションについては、提供されたリンクを確認してください。

また、HTMLコードでもあなたは最初の場所、アクションとその方法でフォームを持っている必要がありますので、あなたのコードは次のようになります。

<div class="form-group"> 
     <div class="form-group"> 
      <form action="{{ route('profile'}}" method="post"> 
      <label for="exampleInputFile"><img src="/img/photos.png" height="80" width="80"> Upload Avatar:</label> 
      <input type="file" id="exampleInputFile" name="profileimage"></font></br> 
      </form> 
     </div> 
</div> 

そして、あなたのweb.phpに、あなたは次の行を持っている必要があります。

Route::get('/URL', '[email protected]')->name('profile'); 
+0

これは私のコントローラにちょうど追加する必要がありますか、それとも正確に何を意味しますか? – birdyfly

+0

はい。 _ProfileController.php_にあります。 – andrewnagyeb

+0

しかし、私のために働かないでください... – birdyfly

関連する問題