자바 웹 은 img 에서 디스크 의 그림 을 읽 습 니 다.
3189 단어 Java Web

그러나 이렇게 하 는 데 문제 가 있 습 니 다.그림 은 반드시 응용 아래 에 놓 아야 합 니 다.그리고 클 러 스 터 를 만 들 었 다 면 그림 은 여러 애플 리 케 이 션 에 분산 되 어 관리 하기 어렵다.이것 은 우리 가 자 연 스 럽 게 그림 을 한 곳 에 두 었 으 면 좋 겠 다 고 생각 할 것 이다.예 를 들 어 c 디스크 의 img 디 렉 터 리 아래 에 응용 하 는 것 이 좋 겠 다.물론 이렇게 사진 을 올 리 는 것 은 좋 지만 그림 을 읽 으 려 면 어떻게 해 야 합 니까?src 를 통 해서="http://127.0.0.1/a/b/abc.jpg"이런 방법 은 할 수 없어 요.이 때 우 리 는 아래 의 방법 을 통 해 디스크 아래 의 그림 을 읽 을 수 있 습 니 다.
@RequestMapping(value="showImg")
public void ShowImg(HttpServletRequest request,HttpServletResponse response) throws IOException{
String imgFile = request.getParameter("imgFile"); //
String path= UrlUtil.getValue("goodsImg");//
FileInputStream fileIs=null;
try {
fileIs = new FileInputStream(path+"/"+imgFile);
} catch (Exception e) {
log.error(" :"+path+"/"+imgFile);
return;
}
int i=fileIs.available(); //
byte data[]=new byte[i];
fileIs.read(data); //
response.setContentType("image/*"); //
OutputStream outStream=response.getOutputStream(); //
outStream.write(data); //
outStream.flush();
outStream.close();
fileIs.close();
}
여 기 는 springMVC 프레임 워 크 를 사 용 했 습 니 다.@RequestMapping(value="showImg")은 실제 요청 입 니 다.
이때 우 리 는 img 의 src 를'http://127.0.0.1/a/showImg?imgFile=abc.jpg"그림 을 표시 할 수 있 습 니 다.즉,src 가 요청 주소 로 바 뀌 었 습 니 다.imgFile 다음은 그림 의 이름 입 니 다."