일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- camera
- 렌즈
- 푸초
- 50mm
- AF-S NIKKOR 50mm f/1.8G
- D750
- 하늘풍경
- Nikon
- 경치
- 85mm 1.8g
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- spring
- daily
- 18-35mm
- 푸른초장교회
- 사진
- 출사
- Photo
- nikkor
- 카메라
- AF-S NIKKOR 85mm f/1.8G
- af-s 18-35
- 일상
- 풍경
- 니콘
- 85mm f/1.8G
- AF-S 18-35mm
- 꽃
- 50mm f/1.8G
- 여름성경학교
- Today
- Total
병갈이 블록
HTML <img>태그 이미지 출력 방법. 본문
1. 이미지의 경로를 src속성에 추가한다.(경로)
2. Rest컨트롤러를 이용하여 이미지 이름을 받아 byte[]데이터를 넘겨받는 링크를 src에 추가한다.(주소)
1. 이미지의 경로를 src속성에 추가하기.
- 로컬경로(C:\로 시작하는 하드내부의 어느 장소)를 가진 경로는 보안문제로 img태그로 출력되지 않는다.
- IE만 출력해준다. 허나, 요즘 브라우저 환경은 생각해본다면 이런식으로 불러오는데 문제가 있음이 분명하다.
해결책.
- 프로젝트의 리소스 내부에 폴더를 두고 파일을 위치하게 한다.
- 경로를 /resources/로 시작되도록 한다. 그러면 출력된다.
- 단, STS에서 보여지는 프로젝트의 경로와 설정에서 알려주는 경로는 차이가 있다.
- 외부에 노출되는(설정에서 알려주는) 경로에 리소스를 추가하면, 프로젝트 새로고침을 했을 때
실제로 프로젝트가 참고하고 있는 위치로 복사를 한다. 이 시점부터 리소스 참고가 가능하다.
(즉, 노출되는 경로의 리소스 폴더에 파일을 추가한 것으로만은 파일을 불러올 수 없다. 실제 리소스 경로패치는
실제로 프로젝트가 참고하는 위치이기 때문이다. )
(노출경로에 추가된 파일은 프로젝트 리플래쉬가 일어날 때 실제경로에 복사가 일어나고 프로젝트상 보여지지만
실제경로에 직접 추가된 파일은 리플래쉬를 해도 노출경로에 복사되지도 않고 프로젝트상에 보여지지도 않는다.)
2. 이미지의 경로를 링크로 걸기.
- 실제 파일의 위치는 상관이 없어진다.
- rest컨트롤러에서 파일의 이름을 파라미터값으로 받아 파일의 저장경로를 붙여 전체경로를 만든다.
- FileInputStream을 이용하여 InpuStream을 생성한다.
- 생성한 InputStream은 commons API에서 제공하는 IOUtils.toByteArray(InputStream is) 메서드를 이용하여
byte[] 자료형 데이터를 만들어서 ResponseEntity<byte[]>형태로 반환한다.
- 이방법이 실제 파일 경로를 숨기기도 좋고 파일을 관리하기에도 편하다는 나름의 결론...(나만의 생각.)
'IT(Old) > Spring 공부 기록' 카테고리의 다른 글
Error - Spring Project (계속 업데이트) (0) | 2019.09.27 |
---|---|
응답코드 415 에러. (0) | 2017.12.23 |
코드로배우는 - (초기설정)DB관련 설정들 (0) | 2017.08.07 |
별도 ** 커맨드객체 사용 시 주의사항. (0) | 2017.08.04 |
코드로배우는 - (초기설정)SpringProject 초기세팅. (0) | 2017.08.01 |