是否可以在服务器端保存 JavaScript 生成的图像?

Posted

技术标签:

【中文标题】是否可以在服务器端保存 JavaScript 生成的图像?【英文标题】:Is it possible to save JavaScript generated images on the serverside? 【发布时间】:2011-06-26 10:52:16 【问题描述】:

我想使用 JSChart (http://www.jscharts.com/) 来生成动态图表。

它使用<canvas> 对象。

此外,我想将生成的图表保存为服务器端的图像(放入 pdf 文件中)。

是否可以在服务器端将 javascript 生成的图像保存为 jpg 或 png?

该解决方案最好使用 Ruby 和 Ruby On Rails。

【问题讨论】:

【参考方案1】:

我认为这使用<canvas> 对象来呈现图表,不下载就无法分辨,并且需要注册,所以没有。如果是这样,不妨看看Canvas2Image,它将画布作为数据 URL、base64 编码图像返回,可以通过 AJAX 调用将其发送回服务器。

【讨论】:

@ayckoster:请注意,没有<canvas> 的IE 客户端使用excanvas,我认为它没有功能,尽管它可能是可实现的,请参阅issue thread on it。 【参考方案2】:

您可以在服务器上使用http://xmlgraphics.apache.org/batik/ 来转换SVG。这是highcharts用来转换应用程序生成的图形的方法。见http://www.highcharts.com/docs/export-module/setting-up-the-server

【讨论】:

以上是关于是否可以在服务器端保存 JavaScript 生成的图像?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 JavaScript/AJAX 在客户端创建文件? [复制]

如何实现用javascript实现rsa加解密

利用Session防止表单重复提交

是否可以使用 Node.js 或其他一些服务器端 JavaScript 方法开发 Google App Engine 网络应用程序?

使用 jquery 和经典 asp 在服务器端生成 HTML 文档

使用Javascript生成PDF和Excel(客户端)