Not allowed to load local resource 에러 해결법로컬(예: C, D 드라이브)에 있는 이미지를 웹에서 직접 띄우려고 하면 아래와 같은 에러가 발생합니다.
Not allowed to load local resource :
브라우저 정책(CORS 및 보안 때문)으로 인해 file:// 프로토콜을 통해 로컬 파일을 직접 접근하는 것이 차단되어 발생하는 에러입니다.
Tomcat을 사용하는 경우, 서버에서 로컬 경로를 static resource로 매핑하면 해결할 수 있습니다.
server.xml에 Context 추가Server/conf/server.xml 파일을 열고, Host 태그 안에 아래와 같이 Context 태그를 추가합니다.
<Context path="/이미지경로" docBase="C:/실제/이미지/폴더/경로" reloadable="true" />
- 예시
로컬의 C:\images 폴더에 접근하고 싶다면:
<Context path="/images" docBase="C:/images" reloadable="true" />
path: 프로젝트에서 접근할 서브 경로docBase: 실제 로컬 폴더 위치이제 브라우저에서 아래처럼 이미지를 호출할 수 있습니다.
<img src="http://localhost:8080/images/your_image.jpg" />
images/your_image.jpg는 C:\images\your_image.jpg를 가리키게 됩니다.Tomcat의 Context 설정을 이용하면 로컬 경로의 파일을 마치 서버 리소스처럼 제공할 수 있어, 브라우저의 보안 정책에 걸리지 않고 이미지를 띄울 수 있습니다.
만약 Spring Boot를 사용한다면 properties에서 맞게 경로를 세팅해주면 됩니다.