我无法在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)类来处理这个问题。只需用''Base64.getDecoder().decode(st)']替换'decoder.decodeBuffer(st)'](http://docs.oracle.com/javase/8/docs/api/java/util/Base64。 Decoder.html#decode-java.lang.String-) – msrd0 2014-09-23 16:35:41