나는이 문제에 대한 해결책을 비교적 쉽게 찾을 수있을 것이라고 생각했지만, 여기서 나는이 수수께끼에서 나를 끌어 내려는 신의 도움을 요청하고있다.Java - XML의 이미지 인코딩
그래서 이미지가 있고 Java를 사용하여 XML 문서에 저장하고 싶습니다. 이전에 VisualBasic에서 이미지를 스트림에 저장하고 스트림을 배열로 변환 한 다음 VB의 xml 클래스에서 배열을 base64 문자열로 인코딩 할 수있었습니다. 그러나 자바에서 동등한 솔루션을 찾기 위해 2 시간 동안 인터넷을 샅샅이 뒤지면서 저는 빈손으로 돌아 왔습니다. 내가 가진 한 유일한 성공으로되었습니다 것 같아요 괜찮
import it.sauronsoftware.base64.*;
import java.awt.image.BufferedImage;
import org.w3c.dom.*;
...
BufferedImage img;
Element node;
...
java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();
ImageIO.write(img, "png", os);
byte[] array = Base64.encode(os.toByteArray());
String ss = arrayToString(array, ",");
node.setTextContent(ss);
...
private static String arrayToString(byte[] a, String separator) {
StringBuffer result = new StringBuffer();
if (a.length > 0) {
result.append(a[0]);
for (int i=1; i<a.length; i++) {
result.append(separator);
result.append(a[i]);
}
}
return result.toString();
}
,하지만 난 XML 파일이 불가능 입증했다로드 할 때 과정을 반전하는 것은 다시 이미지에 그것을 얻을 수 있습니다. 누구나 XML 파일에서 이미지를 인코딩/디코딩하는 더 좋은 방법이있는 경우 다른 스레드에 대한 링크 일지라도 앞으로 나아가십시오.
건배,
Hoopla.
이 거기에서, 당신은 단지 바이트를 쓸 수 있습니다 (그들이 읽을 수있는 형식으로 이미)
나는 갈거야. 전혀 도움이되지 않지만 왜? 왜 XML로 이미지를 저장하고 싶습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까? 이런 상황에서 자신을 발견하면, 내가하고있는 일과 그 이유를 다시 생각해 볼 것입니다. –
안녕하세요, Mike, 유효한 시점입니다. 더 나은 방법이있을 수 있으며 제안을드립니다. XML 문서의 주된 목적은 대학에 대한 정보를 저장하는 것입니다. 그것은 캠퍼스의 배열을 유지하고 차례로 배열을 유지합니다. 저장하고있는 이미지는 캠퍼스지도입니다. 아마도 XML이 부모 - 자식 데이터를 저장하는 가장 좋은 방법이라고 생각했습니다. 그러나 더 나은 제안이 있다면 알려 주시기 바랍니다. – Hoopla