【问题标题】:Upload canvas element to webserver/database?将画布元素上传到网络服务器/数据库?
【发布时间】:2010-08-28 19:44:25
【问题描述】:

我正在寻找一种将画布元素从 Firefox 上传到网络服务器或数据库的好方法,以便以后能够重新加载。

我的想法: 1. 我的第一个想法是使用 getImageData() 并将画布作为 ImageData 对象保存到数据库中,但这可能不是一个好的解决方案,因为这些对象可能会变得非常大。 2.第二个想法是使用Flash/Javascript方法将画布作为PNG上传到网络服务器。

您有关于这些方法的任何 cmet 或者可能有其他好的解决方案吗?

【问题讨论】:

    标签: javascript html canvas


    【解决方案1】:

    Canvas 元素有一个toDataURL 函数,它将画布上的图像序列化为PNG,编码为data URL。您可以使用表单(通过将隐藏的输入元素的值设置为数据 URL)或使用 AJAX 在后台发布图像。

    您应该知道toDataURL(或任何其他获取像素数据的方法)如果画布不是“origin-clean”,则会引发安全异常。例如,如果您曾经使用来自不同域的图像调用 drawImage,则不能再使用 toDataURLgetImageData 函数。

    【讨论】:

      【解决方案2】:

      我不太确定我是否会担心大小,除非图像的大小通常 > 10 mb。这真的是个问题吗?

      如果没有,使用getImageData() 将是 IMO 最实用、最简单的方法。

      【讨论】:

        猜你喜欢
        • 2010-12-08
        • 2011-09-02
        • 1970-01-01
        • 2015-07-11
        • 2014-10-07
        • 2014-09-01
        • 1970-01-01
        • 2016-11-11
        • 1970-01-01
        相关资源
        最近更新 更多