일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 노드
- 자바스크립트
- node
- 윈도우
- ubuntu
- 파이썬
- hamonikr
- postgres
- 스크립트
- DATABASE
- 데이터베이스
- 설치
- 아틀라시안
- java
- 3.0
- install
- Windows
- script
- PostgreSQL
- 우분투
- 리눅스
- Linux
- 자바
- DB
- JS
- 설정
- Atlassian
- 하모니카
- javascript
- python
Archives
- Today
- Total
LukeHan 의 잡다한 기술 블로그
ajax 에서 array buffer 를 이미지로 변환하기 본문
반응형
JAVA
public byte[] getImage(HttpServletRequest request, HttpServletResponse response) throws Exception{
BufferedImage bi = ImageIO.read(new File("c:\\image\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", baos);
return baos.toByteArray();
}
javascript
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', 'http://localhost:8080/image', true);
httpRequest.setRequestHeader('Content-Type', 'application/json');
httpRequest.responseType = "arraybuffer";
httpRequest.onreadystatechange = function(event){
const { target } = event;
if(target.readyState === XMLHttpRequest.DONE){
const { status } = target;
if(status === 0 || (status >= 200 && status < 400)){
console.log('Success');
document.querySelector('#img').src = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array(target.response)));
}
else{
console.log('Failed');
}
}
};
httpRequest.send();
JAVA 에서 전송한 byte 배열을 받기 위해 responseType 을 arraybuffer 로 설정하여 요청한다.
전달 받은 byte 배열 데이터를 변환한 후 img 태그의 src 에 반영하여 이미지를 확인한다.
참고
- https://mkyong.com/java/how-to-convert-bufferedimage-to-byte-in-java/
- https://stackoverflow.com/questions/1645847/ajax-binary-response
반응형
Comments