javascript - 如何以多部分形式将 Canvas 图像上传到java servlet?

标签 javascript java jsp servlets html5-canvas

我正在尝试将 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 上我有输出: 内容类型:应用程序/八位字节流 大小:0

我成功地使用 ajax 只提交了图像数据,但是不使用 ajax 是否可以做到这一点?

非常感谢

最佳答案

有两种发送方式,一种是在表单中设置input='hidden'的值并使用提交按钮提交,另一种方式是使用Ajax发送。 Servlet获取dataUrl字符串值后,可以用Java代码将其转换为File图像。 http://stackoverflow.com/a/24163254/5374508也许有用。

好知5月21日16:50

关于javascript - 如何以多部分形式将 Canvas 图像上传到java servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081142/

相关文章:

javascript - Kendo 日期选择器 - 将错误的日期格式传递给 Controller

java - CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储

java - 如何在 ExoPlayer 的 recyclerview 中自动播放第一个视频

javascript - JS解构复杂语句?

javascript - 使用单独的 API 调用将消息列表存储在数组中

java - org.codehaus.mojo 在 Eclipse 中不可见

java - 调试器无法访问包含页面中的父页面变量

java - J2ee session 跟踪

java - 任务不是由 servlet 执行的

javascript - S3 JS SDK copyObject 403 禁止