Mic*_*ich 14 javascript canvas ruby-on-rails image
我非常坚持这个问题,希望你们能帮助我.
我想要实现的是点击链接,按钮或图像,这似乎更简单,我使用toDataURL将画布转换为图像.之后,打开包含此图像的新窗口.
如何使用ruby on rails将从toDataURL生成的数据url传递到新窗口?
提前致谢.
pol*_*lau 23
首先,这与Rails没什么关系.但是,您可以使用Ruby来解决此问题.
首先获取您正在执行的画布内容:
var dataURL = canvas.toDataURL("image/png");
Run Code Online (Sandbox Code Playgroud)
此时您只需使用Javascript打开一个新窗口并在那里直接打开图像(无需服务器交互):
var window = window.open();
window.document.write('<img src="'+dataURL+'"/>');
$('a.my-link').click(function(){
open().document.write('<img src="'+dataURL+'"/>');
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是一个小小的小提琴来说明这个:http://jsfiddle.net/XtUFt/
或者您可以将纯base64字符串发送到服务器并让您的应用创建实际图像并使用视图来呈现它:
var base64 = dataURL.replace(/^data:image\/(png|jpg);base64,/, "") ;
var window = window.open('http://www.yourapp.com/controller/action?base64='+base64);
Run Code Online (Sandbox Code Playgroud)
!这是一个简化的例子,假设图像非常小.如果您的图像无论如何更大,您将不得不使用"发布"请求,因为您的URL不会携带数据,因为字符串太长了!
然后在服务器上,您可以使用它来创建图像:
require 'base64'
File.open('your/image/path/and/name.gif', 'wb') do|f|
f.write(Base64.decode64(params[:base64]))
end
Run Code Online (Sandbox Code Playgroud)
然后,这只是打开图像并相应地渲染视图的问题.
| 归档时间: |
|
| 查看次数: |
13914 次 |
| 最近记录: |