IMGKIT 要求任何背景图片或其他资产的带有绝对 URL 的 css。
因此,您可以按照此链接https://coderwall.com/p/exj0ig 和一些步骤动态生成它
A) 将所有图片放在 rails 应用的 assets/images 文件夹中
B) 如果不安装,请安装 gem 'sass-rails' https://github.com/rails/sass-rails
C)创建另一个css文件名为css_file_name.css.sccs.erb
D) 将所有其他 css 文件内容放入其中。
E) 在 css 文件中,只需将您的图像文件名输入如下:
背景图片:image-url('image.png');
F) 使用资产管道 (http://guides.rubyonrails.org/asset_pipeline.html#how-to-use-the-asset-pipeline)
运行以下命令作为您的应用程序模式:
(1) 开发模式:RAILS_ENV=development bundle exec rake assets:precompile
(2) 生产模式:RAILS_ENV=production bundle exec rake assets:precompile
G) 在您的配置/环境中/
(1) 开发中.rb
config.action_controller.asset_host = "您的本地主机 URL,即 YOUR_LOCALHOST_ADDRESS"
(2) 在生产中.rb
config.action_controller.asset_host = "http://assets.example.com" /你的地址/
H) 最后将您的样式表与 IMGKIT 关联如下
html_content = "YOUR HTML CONTENT"
kit = IMGKit.new(html_content, height: 900, transparent:true, quality:10) /*YOUR SETTING*/
kit.stylesheets << "#{Rails.root}/public/assets/application.css"
file = kit.to_file(Rails.root + "public/pngs/" + "screenshot.png") /*YOUR IMAGE NAME*/
send_file("#{Rails.root}/public/pngs/screenshot.png", :filename => "screenshot.png", :type => "image/png",:disposition => 'attachment',:streaming=> 'true') /*YOUR ADDRESS WHERE U WANT TO STORE PNG FILE*/
I)重启服务器,尽情享受吧!!!!!
[注意:每次更改后,请运行 assets pipline 命令以获取最新的 application.css,它由 .sccs.erb 扩展文件组成。]