首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ruby语言中从dataURL渲染base64图像并传回图像

在Ruby语言中从dataURL渲染base64图像并传回图像
EN

Stack Overflow用户
提问于 2015-08-12 18:40:05
回答 1查看 335关注 0票数 0

所以我是Ruby的新手,但我想让一些类似的东西在本教程中工作,在本教程中,我将一个画布作为base64编码的图像传递,然后它会传回一个png以供下载。

http://www.intridea.com/blog/2013/1/9/downloadable-svg-in-png-format

我需要这样做才能支持IE9,但是我不能让上面教程中的代码示例工作,我对Ruby的了解也不够多。

这是前端的javascript。

代码语言:javascript
复制
pushToServer: ()->
  html2canvas([$(".hidden_container")[0]],{
    onrendered: (canvas)=>
      strDataURI = canvas.toDataURL()
      @temp_container.children().remove()
      @temp_container.hide()

  $.ajax
    url: '/svg/create'
    data: {svg: "#{strDataURI}"}
    dataType: 'json'
    type: 'POST'
    success: (response, status, xhr) =>
      window.location.href = "/downloadable/" + response.id + '.png'
    error: (response, status)=>
      console.log response
})

和拼音代码

代码语言:javascript
复制
# routes.rb
  match "downloadable/:id(.:format)", :to => 'svg#show'

# svg_controller.rb
class SvgController < ApplicationController
  require "base64"

  def show
    @svg = Svg.where(id: params[:id]).first
    respond_to do |format|
      format.png {
        headers['Content-type'] = 'image/png'
        headers["Content-Disposition"] = "attachment; filename=\"chart.png\""
        @result = Base64.decode64(@svg.content.gsub('data:image/png;base64,', ''))
        render :text => @result
      }
    end
  end
end

对我来说,似乎需要一个ruby路由将初始的post请求从/svg/create路由到某个地方,但我真的不知道该怎么做。

任何帮助都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-08-12 19:14:10

您确实需要另一个操作来接收来自Javascript的请求,将此添加到您的路由中:

代码语言:javascript
复制
match "/svg/create", :to => 'svg#show'

我真的不确定#{strDataURI}到底是什么,但它一定是base64中的编码画布,解码只在显示操作中发生,所以在create中你唯一要做的就是检查参数svg是否被给定,并用它创建一个新的记录:

代码语言:javascript
复制
 def create
   return if not params[:svg]
   svg = Svg.create(content: params[:svg])
   render :json => svg
  end

我不知道您的SVG模型中是否有其他字段,如果没有,此代码可能会起作用!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31962835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档