내 Laravel 5.1 앱에서 storage / app / uploads 폴더에 이미지를 저장하고 있습니다.
내 local
디스크 :
<?php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app/uploads'),
],
// other configuration...
?>
문제는 이미지 파일이 업로드 된 후 <img>
태그 소스로 사용하는 방법을 찾을 수 없다는 것입니다 . 기본적으로 이미지에 대한 유효한 경로를 검색해야 페이지에서 사용할 수 있습니다.
배포를 위해 솔루션을 제공하는 Envoyer를 사용하고 있습니다. Envoyer 문서 에 따르면 :
사용자 업로드 파일을 저장할 때 Laravel을 사용하는 경우 애플리케이션 의 스토리지 디렉토리 에 저장해야합니다 . 그런 다음 Envoyer의 "연결된 폴더 관리"기능을 사용 하여 공용 디렉터리에서 저장소 디렉터리로의 심볼릭 링크 를 만들 수 있습니다 . "연결된 폴더 관리"버튼은 프로젝트의 "배포 후크"탭에서 찾을 수 있습니다.
.. 그리고 이것은 분명합니다.
하지만 로컬 개발 환경에서 저장소 와 공용 폴더를 "연결"하려면 어떻게해야 합니까? Laravel이이를 수행하는 방법을 제공합니까, 아니면 내 환경에서 수동으로 심볼릭 링크를 생성해야합니까?
몇 가지 옵션이 있습니다.
파일을 출력하는 컨트롤러 만들기
class AssetController {
public function show($id) {
$file = File::findOrFail($id);
return Response::make(Storage::get($file->storage_key), 200, ['Content-Type' => $file->mime_type]);
}
}
symlink public / assets => storage / app / 만들기
저장소 / 앱 대신 공개 / 자산에 파일 업로드
웹 서버에서 재 작성을 사용하여 스토리지 / 앱 폴더 에서 파일을 제공합니다 . 사용 방법은 사용중인 웹 서버에 따라 다릅니다. 들어 nginx를 당신이 뭔가를 사용할 수 있습니다
rewrite ^/v1/assets/(\d+) /../storage/app/$1;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다