JSP에 데이터 URI를 저장할 수 없습니다. 나는 이런 식으로 노력하고있다, 다음 코드에 실수가 있는가?JSP로 이미지를 저장할 수 없습니다.
<%@ page import="java.awt.image.*,java.io.*,javax.imageio.*,sun.misc.*" %>
function save_photo()
{
Webcam.snap(function(data_uri)
{
document.getElementById('results').innerHTML =
'<h2>Here is your image:</h2>' + '<img src="'+data_uri+'"/>';
var dat = data_uri;
<%
String st = "document.writeln(dat)";
BufferedImage image = null;
byte[] imageByte;
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(st);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
bis.close();
if (image != null)
ImageIO.write(image, "jpg", new File("d://1.jpg"));
out.println("value=" + st); // here it going to displaying base64 chars
System.out.println("value=" + st); //but here it is going to displaying document.writeln(dat)
%>
}
}
마지막으로 이미지는 저장되지 않습니다.
더 이상 'BASE64Decoder'를 사용하면 안됩니다. Java8부터는이를 처리하기위한 ['java.util.Base64'] (http://docs.oracle.com/javase/8/docs/api/java/util/Base64.html) 클래스가 있습니다. 그냥'decoder.decodeBuffer (st)'를 ['Base64.getDecoder() .decode (st)'] (http://docs.oracle.com/javase/8/docs/api/java/util/Base64)로 대체하십시오. Decoder.html # decode-java.lang.String-) – msrd0