Javascript 如何以多部分形式将画布图像上载到Javaservlet?
我正在尝试将画布图像(从网络摄像头快照中绘制)上载到一个文件中,然后将其保存到servlet JSP文件:Javascript 如何以多部分形式将画布图像上载到Javaservlet?,javascript,java,jsp,servlets,html5-canvas,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"
<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>
在servlet上,我有输出:
contentType:应用程序/八位字节流
尺寸:0
我用ajax只提交了一个图像数据,但是没有ajax是否可以
非常感谢有两种发送方式,一种是将值设置为表单中的输入class='hidden',并使用提交按钮提交,另一种是使用Ajax发送。Servlet获取dataUrl字符串值后,可以使用Java代码将其转换为文件映像。也许有用
Haohich 5月21日16:50有两种发送方式,一种是将值设置为表单中的input='hidden',并使用提交按钮提交,另一种是使用Ajax发送。Servlet获取dataUrl字符串值后,可以使用Java代码将其转换为文件映像。也许有用
浩志5月21日16:50
src
输入的属性只能与input type='image'
一起使用。请参见此处:。因此,尝试使用image.src
为您的文件输入设置value
属性,并查看它是否有效。谢谢,我按照您的建议进行了尝试(我编辑了文章),但在我的servlet中仍然看不到任何文件或图像。大小为“0”,内容类型为“应用程序/八位字节流”,我犯了一个错误,设置值
属性无法将画布图像转换为输入文件
,转换可能很复杂。所以eaiser实现这一点的方法就是将dataUrl
值(该值是char序列)发送到Servlet。有两种发送方式,一种是将值设置为表单中的input='hidden'
,并使用提交按钮提交,另一种是使用Ajax发送。Servlet获得dataUrl
字符串值后,可以使用Java代码将其转换为文件映像。也许有用,谢谢!你最后的评论很有帮助<输入的code>src属性只能与input type='image'
一起使用。请参见此处:。因此,尝试使用image.src
为您的文件输入设置value
属性,并查看它是否有效。谢谢,我按照您的建议进行了尝试(我编辑了文章),但在我的servlet中仍然看不到任何文件或图像。大小为“0”,内容类型为“应用程序/八位字节流”,我犯了一个错误,设置值
属性无法将画布图像转换为输入文件
,转换可能很复杂。所以eaiser实现这一点的方法就是将dataUrl
值(该值是char序列)发送到Servlet。有两种发送方式,一种是将值设置为表单中的input='hidden'
,并使用提交按钮提交,另一种是使用Ajax发送。Servlet获得dataUrl
字符串值后,可以使用Java代码将其转换为文件映像。也许有用,谢谢!你最后的评论很有帮助!
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);