在向我的Servlet代码发送后继命令时,有2个字符串生成(如下所示):1个是编码的BufferedImage,另一个是包含字母的标准Java字符串。
当单击网页上的按钮时,已编码的BufferedImage被发送到HTML页面上的画布上,并且工作正常。但我也希望将包含字母的第二个字符串发送到我的网页上的标签。我正在尝试在现有的PrintWriter上追加内容,但这不能正常工作,因为2个字符串分别对应2个不同的HTML位置...
如何使第二个包含字母的字符串(在我的代码中显示为 s.getIdentifiedText())显示在网页的代码中?
Servlet代码:
protected void doPost(HttpServletRequest请求,HttpServletResponse
响应)引发IOException,ServletException {
零件filePart = request.getPart(“ file”);
InputStream fileContent = filePart.getInputStream();
BufferedImage imBuff = ImageIO.read(fileContent);
SequentialRecursiveImpl s = new SequentialRecursiveImpl(imBuff);
s.boxFeaturesInImage(imBuff);
字符串base64String = encodeToString(imBuff,“ jpg”);
response.setContentType(“ text / html”);
PrintWriter out1 = response.getWriter();
out1.append(base64String);
~~~~~~ out1.append(s.getIdentifiedText()); ~~~~~~~~~~~~
out1.close();
}
相关JavaScript:
函数processImage(){
var dataURL = canvas.toDataURL('image / jpeg',1);
var blob = dataURItoBlob(dataURL);
var formData = new FormData(document.forms [0]);
formData.append(“ file”,blob);
函数dataURItoBlob(dataURI){
//将base64 / URLEncoded数据组件转换为字符串中保存的原始二进制数据
var byteString;
如果(dataURI.split(',')[0] .indexOf('base64')> = 0)
byteString = atob(dataURI.split(',')[1]);
其他
byteString = unescape(dataURI.split(',')[1]);
//分离出mime组件
var mimeString = dataURI.split(',')[0] .split(':')[1] .split(';')[0];
//将字符串的字节写入类型化数组
var ia = new Uint8Array(byteString.length);
for(var i = 0; i
相关HTML: