2016-08-11 2 views
1

거의 모든 Google 및 SO 히트를 검색 한 후에도이 문제를 해결할 수 없습니다.저장 폴더의 이미지를 Laravel 5에서 볼 수 있습니다.

내 앱에서 사용자가 사진을 업로드 할 수 있습니다. 사용자의 데이터는 매우 민감하기 때문에 저장소 폴더에 모든 것을 저장하고 PHP를 사용하여 이미지를 제공합니다.

보기

<img src="{{ asset('logo/' . $organization->logo_thumbnail_path) }}" alt=""> 

경로

Route::get('logo/{logo}', function($logo) { 

    $image = Image::make(Storage::disk('logo-image')->get($logo)); 
    $image->response(); 

}); 

경로는 해당 파일 이름을 storage/app/img/logo에서 찾습니다. 내가 Storage::disk('logo-image')->get($logo)을 되풀이한다면, 이상한 캐릭터의 거대한 페이지를 얻게되어 실제 .jpg 이미지를 얻는다는 것을 알게된다.

그러나 경로를 직접 방문하더라도 이미지가 표시되지 않습니다.

또한 경로를 변경하여 홈페이지로 다시 가져와 이미지를 렌더링해야하는보기를 열면 아무 일도 일어나지 않습니다. 어느 날이 경로가 <img> 태그 안에서 호출되지 않는다고 믿게합니다.

이 중 더 많은 정보를 알고 계십니까? 나는 꼼짝 못하고 수 시간의 검색은 아무 것도하지 않았다.

EDIT : 응답의 모든 헤더와 내용을 수동으로 설정하여 이미지가 표시되도록합니다.

+0

나는 야생의 추측을 취하고있다. 그러나 헤더가 맞다고 가정한다. – Andrew

+0

나는 중재/이미지 라이브러리를 사용하고 있는데,이 라이브러리는 내가 말하는 모든 response() 메소드가 모든 올바른 헤더를 제공해야한다고 말합니다. 또한,'$ image-> response'를 되풀이한다면, 또 다른 커다란 괴상한 문자가 나옵니다. http://image.intervention.io/api/response – Loek

+0

[Laravel 5 - View 내 스토리지에 업로드 된 이미지에 액세스하는 방법?] (http://stackoverflow.com/questions/30191330/laravel-5-how -to-access-image-uploaded-in-view-within-view) – aynber

답변

1

대답은 비교적 간단처럼, 나는 $image->response()

그래서 return $image-response();을 반환하지 않았고 모든 작품 보인다.

감사합니다. @Drown!

+0

요청이 외부 도메인에서 온 것인지 확인하는 방법이 있습니까?즉, 외부 요청에 대한 이미지를 반환하지만 사용자가 브라우저에서 직접 경로를 입력하면보기를 표시합니다. – JCarlos

+0

정확히 무엇을 의미합니까? 모든 요청은 코드가 실행되는 동일한 서버에서 오지 않는 한 외부 적입니다. – Loek

+0

예 :'''https : // media.giphy.com/media/3ohzdNzYZoPbJwLHtC/giphy.gif''이 gif는'''img''' 태그에서 사용할 수 있으며 이미지가로드됩니다. 그러나 브라우저에서 직접 링크를 방문하면 페이지가 표시됩니다 (이미지뿐 아니라). – JCarlos

관련 문제