前台:
var imgData =canvasObj.toDataURL("image/png");//获取将canvas中图片数据
然后发送到后台的数据是这样的:
iVBORw0KGgoAAAANSUhEUgAAAUAAAADwCAYAAABxLb1rAAAgAElEQVR4XnS9CbBu6VWet8883KkHdUtqDUhqcBUQQ...我该怎么把这串数据保存为图片呢?

解决方案 »

  1.   

    javax.imageio.ImageIOcreateImageInputStream(Object input) 
              //返回一个 ImageInputStream,它将从给定 Object 中获取输入。
      

  2.   

    这种数据是用Base64编码过的,直接放到html的<img src="...ADwCAYAAABxLb1..." />是可以显示出图片的。想保存为二进制的,Base64反编码就可以了。
      

  3.   

    多谢各位了,已按你们说的方法实现~
    try {
    BASE64Decoder decoder = new BASE64Decoder();
    byte[] b = decoder.decodeBuffer(imageStr);
    for(int i=0;i<b.length;++i){
                    if(b[i]<0){//调整异常数据
                        b[i]+=256;
                    }
                }
    OutputStream out = new FileOutputStream(savePath+"test.jpg"); //生成图片  
                out.write(b);
                out.flush();
                out.close();
    } catch (Exception e) {
    e.printStackTrace();
    }