프로젝트 진행중 user서버와 admin서버를 만들게 됐는데 이미지를 공유해서 사용해야하는 상황이 발생했다.
프로젝트 내부 public폴더에 이미지를 저장하고 링크를 db에 저장하는 방식을 사용했었는데 user서버에서 올린 이미지를 admin이 사용해야하는 경우가 발생했다.
멍청했던 과거의 나는 admin에서 http메서드를 이용해 user서버의 이미지를 불러와 사용했다 하지만 생각해보니 외부 이미지 폴더를 만들고 user와 admin이 외부 폴더에 이미지를 저장하는 방식으로 하면 되겠다는 생각이 들었다.
방법을 찾아보니 라라벨 심볼릭 링크를 만들고 해당폴더에 외부 심볼릭 링크를 만들면 된다.
쉽게 말해 외부 폴더의 바로가기를 만들어 라라벨 프로젝트에서 이미지가 담기는 폴더에 넣고
심볼릭을 만들어 이미지가 외부 폴더의 바로가기에 저장 되도록 하면 외부 폴더에 이미지가 저장되는 것이다.
라라벨 심볼릭 만들기
php artisan storage:link
폴더 경로는 보통 "프로젝트/storage/app/public"이 될것이다.
편의상 라라벨 심볼릭 링크라 부르겠다.
윈도우 심볼릭 만들기
mklink /D "라라벨 심볼릭 링크\test" "C:\test"
나는 윈도우이기 때문에 윈도우의 심볼릭 링크만드는 방법을 사용했지만 윈도우가 아니라면 자신의 os에맞는 방법을 찾아 적용하길 바란다.
명령프롬프트를 관리자 모드로 켜서 해당 명령어를 입력하자
생성됐다는 링크가뜨고 라라벨 심볼릭 링크폴더를 확인해 보면 test라는 바로가기 모양의 폴더가있다.
이제 라라벨 프로젝트에서 심볼릭링크를 이용해 파일을 저장하면 test폴더에 저장이 된다.
'laravel' 카테고리의 다른 글
XAMPP MySQL서버 Start시 충돌 오류로 Start되지않는 오류 (0) | 2024.02.29 |
---|---|
[Laravel Excel] 엑셀 관련 서비스 만들기 (0) | 2024.01.12 |
api session사용 하기 (0) | 2023.11.06 |
laravel IDE 도우미 생성기 (0) | 2023.09.22 |
laravel config/cors.php를 활용한 cors설정 (0) | 2023.09.17 |