java - 在servlet上上传 Canvas base64图像

标签 java javascript html servlets canvas

我正在使用以下 JavaScript 代码通过 servlet 上传 HTML5 canvas base64 图像

function saveDataURL(a) {
    var postData = "canvasData="+a;
    var ajax = new XMLHttpRequest();
    ajax.open("POST",'uploadPhoto.cgi',true);
    ajax.send(postData);    }

但是在服务器上,当我看到 request.getAttribute("canvasData") 时,即使我调试 java 代码请求显示为 null,它也会给我 null 值。我应该在 Java 上编写什么代码,我已经尝试解码 Base64 请求,但由于请求本身不包含任何对代码的帮助,非常感谢教程

最佳答案

除了 url 编码之外,将内容类型设置为 application/x-www-form-urlencoded

function saveDataURL(a) {
    var postData = "canvasData="+encodeURIComponent(a);
    var ajax = new XMLHttpRequest();
    ajax.open("POST",'uploadPhoto.cgi',true);
    ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    ajax.send(postData);    
}

关于java - 在servlet上上传 Canvas base64图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11852937/

相关文章:

HTML 表格 - td 位于另一个 td 下

html - xslt 中的内部链接不起作用

javascript - 如何对除最后一个之外的所有 <li> 实现添加/删除类?

java - Jasper 报表中的动态查询

java - Mule ESB - 当文件相互依赖时设计多文件处理流程

java - 如何显示具有多种布局的多个 JPanel?

javascript - 将对象传递给子 react 组件时出现问题

java - 将 Java-Pair-Rdd 转换为 Rdd

javascript - 在 React 中渲染组件 onClick

javascript - jQuery addClass 中断延迟,或 jQuery 延迟中断 CSS 转换,或两者兼而有之