如何在多部分表单中将画布图像上传到java servlet?

时间:2017-05-20 01:52:41

标签: javascript java jsp servlets html5-canvas

我正在尝试将画布图像(从网络摄像头拍摄中)上传到文件中,然后将其保存到servlet。

JSP文件:

<form id="submissionForm" action="/PSA/SaveImageServlet" method="POST" 
          name="registrationForm" enctype="multipart/form-data">
          <input name="camera1Image" type="image" id="camera1ImageID" style="visibility:hidden" />
          <input name="camera1File"  type="file"  id="camera1FileID"  style="visibility:hidden" />
          <img   name="camera1Img"   src="" id="camera1ImgID" style="visibility:hidden" />
</form>

使用Javascript:

var canvas1 = document.querySelector('#canvas1');
var ctx = canvas1.getContext('2d');
w = canvas1.width;
h = canvas1.height;
ctx.drawImage(video1, 0, 0, w, h);
var dataUrl = canvas1.toDataURL("image/jpeg", 0.95);
var image = new Image();
image.src = dataUrl;
$("#camera1ImageID").attr("src", image.src);
$("#camera1FileID").attr("val", image.src);
$("#camera1ImgID").attr("src", image.src);

在servlet上我有输出: contentType:application / octet-stream 大小:0

我设法只使用ajax提交图像数据,但是没有ajax可以做到吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

有两种发送方式,一种是将值设置为输入=&#39;隐藏&#39;在表单中并使用提交按钮提交,其他方式是使用Ajax发送。在Servlet获取dataUrl String值之后,您可以使用Java代码将其转换为File映像。 http://stackoverflow.com/a/24163254/5374508可能有用。

HaoChih 5月21日16:50