2017-01-17 2 views
0

Laravel에서 이미지 중재 패키지를 사용하고 있으며 내 프로필 이미지를 표시 할 수 없습니다.Laravel - 리소스를로드하지 못했습니다.

public/uploads 

내보기 :

<div class="row"> 
    <div class="col-md-2 "> 
     <img src="uploads/{{ $user->avatar }}"> 
    </div> 
</div> 

컨트롤러 :

class UserController extends Controller 
{ 
    public function profile() 
    { 
     return view ('user.profile', array('user'=>Auth::user())); 
    } 

    public function update(Request $request) 
    { 
     if($request->hasFile('avatar')) 
     { 
      $avatar = $request->file('avatar'); 
      $filename = time() . '.' . $avatar->getClientOriginalExtension(); 
      Image::make($avatar)->resize(300, 300)->save(public_path('/uploads/avatar' . $filename)); 
      $user = Auth::user(); 
      $user->avatar = $filename; 
      $user->save(); 
     } 
     return view('user.profile',array('user'=>Auth::user())); 
    } 
} 
문제는 브라우저가

localhost:8000/uploads etc. 

모든 파일이 공용 폴더에 저장된 리소스를로드 할 수없는 것입니다

나는 창문을 사용하고 있습니다. 디 내 폴더 공공/업로드에 저장이 파일을 볼 수 있지만 난 당신이 이미지를 저장하면이

안부

+3

당신은 절약됩니다/업로드'에/avatar '. $ filename'이지만 파일을 찾을 때'/ uploads/$ filename'을 찾고있는 것 같습니다. 이것 좀 봐 줄래? –

+0

오류가 정확히 무엇입니까? XDebug가 제공하는 라인이 있습니까? – BrokenBinary

+0

내가/uploads/avatar에 저장할 때. $ filename 이름이 avatar $ filename – tomczas

답변

1

를 컨트롤러 클래스 변경에서이 라인이에

$user->avatar = $filename; 

:

$user->avatar = 'avatar' . $filename; 
+0

아래 @Romain의 대답도 효과가 있습니다. – BrokenBinary

2

, "업로드/아바타 '이후 /를 추가 표시 캔트 :

save(public_path('/uploads/avatar/' . $filename));

그것은 명명 문제를 해결해야합니다. 그런 다음 HTML에 "upload/avatar"폴더에 저장하는 것처럼 "uploads /"다음에 "avatar /"를 추가하십시오.

그런 다음 뷰는 다음과 같이 보일 것이다 :

<div class="row"> 
    <div class="col-md-2 "> 
     <img src="uploads/avatar/{{ $user->avatar }}"> 
    </div> 
</div> 
관련 문제