Laravel에서 이미지를 검색하고 컨트롤러에서 해당 이미지를 사용할 수없는 문제가 있습니다.Laravel 저장소에서 이미지를 검색하고 스트림을 열지 못했습니다. 해당 파일이나 디렉터리가 없습니다.
처음 이미지가 사실
var_dump(storage::disk('local')->exists('image.png'))
내가이
$file = Storage::disk('local')->get('image.png');
var_dump(pathinfo($file));
내가이 출력을 얻을 할 경우
array(2) {
["basename"]=>
string(0) ""
["filename"]=>
string(0) ""
}
만의 위해 var_dump() ING를 반환하는 존재 있는지 확인하십시오 $file
는 나에게 빈 문자열을 제공합니다
$file = Storage::disk('local')->url('image.png');
var_dump(pathinfo($file));
난 내가 속성을 알고 싶지 않아
array(4) {
["dirname"]=>
string(8) "/storage"
["basename"]=>
string(9) "image.png"
["extension"]=>
string(3) "png"
["filename"]=>
string(5) "image"
}
취득 할 경우 10
, 나는 실제 이미지를 저장 것을 수 사용하고 다른 API에 업로드해야합니다. 나는 시도하고
echo '<img src="'.$file.'">';
을 할 경우
난 브라우저 소스에서이를 얻을 수 있지만, 모든 이미지
<img src="/storage/image.png">
i는 이미지가 다시 업로드하기 위해 사용하고 API를 볼 수없는이
실제 이미지를 얻을 수있게되면 확신합니다. 나머지는 작동합니다.
편집 :이 명령을 실행했습니다
php artisan storage:link
내가 $file = public_path('uploads/image.png');
를 사용하여 공용 폴더에 파일을 복사하는 경우 (하지 스토리지/응용 프로그램/공공), 나는 이미지를 사용할 수 있어요 어떻게해야합니까?
이미지를 공개적으로 액세스하기를 원하지 않기 때문에 이상적이지 않습니다. 저장 폴더에서 이미지에 액세스 할 수 있어야합니다. 내가 $file = Storage::disk('public')->get('image.jpg');
을 실행하면
나는 내가 사용하는 데 필요한 API에 이미지의 경로를 보내려고 순발력 끝에 mime_content_type(): Invalid path
난을 얻을. 가 필요한 모든 웹 서버의 문서/웹 루트 인 공용 디렉토리, 외부 이미지
이제 파일은 경로/var/www/vhosts/mysite에 존재하지 않습니다.com/httpdocs/storage/image.jpg' – AdRock
은 앱 폴더 '$ path = storage_path()'에 저장 될 수 있습니다. "/app/image.png";'다음을 확인하십시오 : https://laravel.com/docs/5.5/filesystem#the-local-driver – Ben