2013-06-27 3 views
0

나는 ServletAPI/JSP 미디어 포털을 가지고 있습니다. 오늘 나는 동적으로 저장되고 PostgreSQL 바이트 필드에 의해로드되는 이미지를보기 위해 JQuery 플러그인을 추가했습니다. 내 로컬 컴퓨터에서 이미지를 보려고하면 모든 것이 잘 작동합니다. 그러나 DB에서 이미지를 보려고하면 img 대신에 이상한 캐릭터가 많이 생깁니다. 웹 페이지에는 DB의 모든 이미지가 있으며 올바르게 렌더링 된 것을 볼 수 있습니다. 그래서 헤더의 문제가 아닙니다 (img/jpg로 설정). 난 그냥 플러그인에서 그들을 볼 수없는 이유가 있습니다. 이것은 내가 그들을로드하는 방법입니다. 이미지의 src 속성이되는 servlet에서 모든 이미지 ID와 반환 바이너리 데이터를 반복합니다.이미지 대신 이상한 문자가 있습니다

<c:forEach var="imageID" items="<%= currentUser.getImageIDs()%>"> 
<a class="group2" href="<%= request.getContextPath() + "/imageservlet?id="%>${imageID}"><img src="<%= request.getContextPath() + "/imageservlet?id="%>${imageID}" ></a> 
</c:forEach> 

제발,이 문제의 해결책을 가르쳐주세요. 더 많은 정보가 필요하면 문제가 없습니다. 조언 해 주셔서 감사합니다. Nazar

답변

0

많은 인터페이스가 별도의 이스케이프가 필요하고 사용 가능한 이스케이프 메소드가 PostgreSQL 버전으로 변경 될 수 있기 때문에 Bytea 유형이 PostgreSQL에서 어려움을 겪을 수 있습니다. 여기에 충분한 정보가 없지만 문제 해결을 시작하기에 충분합니다.

일반적으로 바이트 유형에는 몇 가지 문제가있을 수 있습니다.

  1. 입력시 이스케이프 처리가 올바르게 처리됩니까?

  2. 실수로 입력시 파일을 잘못 작성하고 있습니까?

  3. 파일이 출력시 올바르게 이스케이프 처리되지 않았습니까?

  4. 출력시 파일이 망가져 있습니까?

이제 문제 2와 4가 코드에 포함되는 반면 1과 3은 일반적으로 사용중인 프레임 워크와 관련이 있으며 (아마도 오용 될 수 있음) 그러나 완전한 서클 테스트를 실행하고 최종 결과를 입력과 비교 한 다음 변경 사항을 확인하기 위해 단계별로 진행해야합니다 (16 진 편집기는 특정 유형의 문제를 식별하는 데 도움이 될 수 있음).

관련 문제