如何将canvas保存到后台,以什么形式保存数据库好

qq_25639241 2015-03-04 02:44:24
页面:


<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<html>
<head>
<link href="${pageContext.request.contextPath}/css/css.css"
rel="stylesheet" type="text/css" />
<link href="${pageContext.request.contextPath}/css/frame.css"
rel="stylesheet" type="text/css" />
<script src="${pageContext.request.contextPath}/js/jquery-1.8.2.min.js"
language="javascript"></script>
<script src="${pageContext.request.contextPath}/js/common_list.js"
type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/js/common_list_pager.js"
type="text/javascript"></script>
</head>
<body>
<video id="video" width="320" height="240" autoplay style="border:1px solid #d3d3d3;">></video>
<button id="snap">Snap Photo</button>
<canvas height="1000" width="320" id="canvas" style="border:1px solid #d3d3d3;">></canvas>
<button id="upload" onclick="upLoadCanvas('${pageContext.request.contextPath}/reader/upLoadCanvas')">上传</button>
<script type="text/javascript">
// Put event listeners into place
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
// Put video listeners into place
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // WebKit-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 320, 240);
});
}, false);

</script>
</body>
</html>


ajax

/**
* 视频拍照上传到数据库
*
* @param uri
*/
function upLoadCanvas(uri){
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d");
var imageData = context.getImageData(0, 0, 240, 240);
context.putImageData(imageData,0,300);
alert(imageData[0]);
$.ajax({
url : uri,
type : "POST",
dataType : "json",
data : {
"imageData" : imageData
},
async : false,
cache : false,
beforeSend : function() {
},
success : function(data) {
window.close();
}

});
}


controller

/**
* 上传截取的视频照片
*
* @param response
* @param overdueQueryForm
*/
@RequestMapping("/upLoadCanvas")
@ResponseBody
public String upLoadCanvas(HttpServletRequest request){
request.getParameter("imageData");
System.out.print(request.getParameter("imageData"));
return null;
}


取得的值都是null
alert的时候是未定义
如何取得imageData
API上写的imageData对象有一个data属性,它的值是一个一维数组。该数组的值,依次是每个像素的红、绿、蓝、alpha通道值

但alert(imageData[0]);却是undefined
...全文
390 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
BASE64取得后解码 存本地 数据库中存路径

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧