如何将imageData(视频)从Jsp发布到Spring MVC?

时间:2013-08-16 10:26:05

标签: spring spring-mvc video canvas

我用来获取图像数据并发布它的代码是这样的,而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中构建的,我编写了一个控制器来处理这个帖子请求,但它从未进入过。

任何人都可以帮我解决这个问题吗?感谢!

1 个答案:

答案 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>