我用来获取图像数据并发布它的代码是这样的,而imageData是一个Uint8ClampedArray,它是一个视频流。但每次我尝试提交时都会收到错误信息。 msg是“Uncaught TypeError:Illegal invocation”
var imageData = ctx.getImageData(0, 0, width, height);
$.ajax({
url: '/blog/saveblog',
type: 'POST',
data:{videoData: videoData},
success: function (result) {
loadMine();
}
});
服务器是在Spring mvc中构建的,我编写了一个控制器来处理这个帖子请求,但它从未进入过。
任何人都可以帮我解决这个问题吗?感谢!
答案 0 :(得分:1)
迟到的答案,但如果它可以帮助某人......
这是将画布数据发布到服务器的一种方法
function(canvas) {
$.post('/blog/saveblog',
{
image: canvas.toDataURL()
},
function(data) {...});
}
使用spring MVC在服务器端管理它的方法
@RequestMapping(value = "/saveblog")
@ResponseBody
public void saveBlog(@RequestParam(value="image", required=false) String imageBase64) throws IOException
long now = Calendar.getInstance().getTimeInMillis();
byte[] bytes = imageBase64.replaceAll("data:image/.+;base64,", "").getBytes();
File image= new File("./folder", "image.jpeg");
if(!image.exists()){
Files.createParentDirs(image);
}
Files.write(DECODER.decode(bytes), image);
}
这适用于图像,我认为它也适用于视频(需要更改行 imageBase64.replaceAll(“data:image /.+; base64,”,“”))< / p>