我有一个 Highcharts 图表,我在 Rails 3.2 应用程序中使用以下 javascript 将其从画布转换为 Base64。
canvg(document.getElementById('chart'), chart.getSVG())
var canvas = document.getElementById("chart");
var img = canvas.toDataURL("image/png");
document.write('<img src="'+img+'"/>');
现在,我想将该图像解码为图像文件。但是,我不想将它保存到服务器,因为唯一的目的是在 Facebook 上分享。我看到两个选项:
- 将数据从img
回发送到服务器,然后将其转换为存储在临时文件夹中的图像,并在视图中呈现。
- 使用 javascript 将 Base64 解码为 PNG 文件并在新窗口中打开。
我应该采取哪个方向以及如何实施?我已经用谷歌搜索了几个小时,并找到了一些可以满足我需要的部分示例,但我找不到整个故事。
这个解决方案看起来很有希望,但是我的图像太大而无法使用 get 请求,而且我对 javascript 不是很熟悉,所以我尝试使用 post 请求失败了:
使用 ruby on rails 和 javascript 将画布转换为图像并在新窗口中打开
编辑:作为另一个潜在的解决方案,是否有一个网络工具可以发送 base64 字符串,该字符串将自动返回图像链接?