长微博就是把文字转换成图片,主要用到的gem是imgkit。

imgkit是一个通过open3来调用wkhtmltoimage生成图片的gem,源码不是很复杂,使用也很简单。

基本步骤如下:

rails new long-weibo

#Add imgkit and carrierwave to Gemfile and run bundle

rails g model weibo weibo:string image:string

rake db:migrate

rails g controller home index create

修改一下routes.rb

post "create" =>'home#create'

root 'home#index'

写个简单的界面home/index.html.erb

Create

写段简单的js

$(function(){

$("#create").click(function(){

var content = $("#content").val();

$.post("/create",{content:content},function(returnData){

$("#image").html("");

});

});

});

把controller改改

def index

end

def create

@weibo = Weibo.create(weibo:params[:content])

render :text=>"#{@weibo.image.url}"

end

把model改改

class Weibo

after_create :generate_image

mount_uploader :image,ImageUploader

private

def generate_image

file = Tempfile.new(["template_#{self.id.to_s}", 'jpg'], 'tmp', :encoding => 'ascii-8bit')

#不加html标准标签中文会乱码

#因为textarea中的换行是\n 需要替换成br标签

weibo = "html>

#{self.weibo.gsub("\n","
")}"

file.write(IMGKit.new(weibo, quality: 50, width: 600,height:0).to_jpg)

file.flush

self.image = file

self.save

file.unlink

end

end

完成了,超级简陋的长微博生成工具。

wkhtmltoimage 卡住了_用rails做一个简单的长微博生成工具相关推荐

  1. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...

  2. 用html5做一个简单网页_用Python做一个简单的翻译工具

    编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...

  3. 用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具

    编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...

  4. python制作查询工具发给别人使用_用Python做一个简单的翻译工具

    编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...

  5. python怎么写游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)

    引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...

  6. python编辑游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)

    引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...

  7. python石头剪刀布游戏注释_用python做一个简单逻辑的游戏——剪刀石头布

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:萝卜的百科书 我们的基础中的基础,在前几文中已经介绍完了,其他的知识 ...

  8. java 做计算器 百度云_用Java做一个简单的计算器

    窗体 package Calc; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * * 计算器程序6261 ...

  9. 简单绘图软件实现mfc大作业_生产流程图怎么做?简单易上手的流程图工具

    生产流程图是什么呢?首先,生产流程指的是在生产的过程中,劳动者通过利用一定的生产设备或工具,将各种原材料.半成品投入,按照一定顺序进行加工,最终得到成品产出的整个过程.而生产流程图则是使用图表符号的形 ...

最新文章

  1. 设计模式之C#实现---Builder
  2. 搜索引擎的时效性需求满足
  3. linux的bash与sh的区别
  4. educoder 使用线程锁(lock)实现线程同步_性能:Lock的锁之优化
  5. 让互联网拥抱移动VR,三星将发布新版VR浏览器
  6. 【C语言进阶深度学习记录】三十五 程序中的堆、栈以及静态存储区(数据区)
  7. 旅游系统_旅游标识系统,必须真的“旅游化”
  8. Linux执行U盘里内程序,Linux 最小系统挂载U盘(SD、TF卡)并执行程序
  9. element ui 弹窗在IE11中关闭时闪现问题修复
  10. 易语言新手入门教程第十四课 - QQ自动登录器第二部分
  11. python正则表达式提取字符串中的书名_使用python正则表达式从字符串中提取名称...
  12. CUDA之GPU生态系统
  13. php一句话上传webshell,一句话shell,哪些是恶意的php一句话webshell
  14. 笔记本电脑怎么做计算机题吗,笔记本怎么重装系统 笔记本重装电脑简单教程【图文教程】...
  15. HuskyLens人工智能摄像头
  16. RFID资产管理系统解决方案
  17. python数据提取和合并_用Python提取和合并Excel数据
  18. 视频后期合成软件:nuke12 mac版 v12.2v4最新版(支持big sur)
  19. csharp高级练习题:ASCII85编解码【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
  20. 解决报错Process finished with exit code -1073741571 (0xC00000FD),修改栈大小

热门文章

  1. 移交笔记本电脑前如何安全地删除个人数据
  2. Ubuntu环境下moos-Ivp编译
  3. 自实现微微型axios
  4. 小森生活一直显示服务器连接异常,小森生活进不去怎么解决?无法进入游戏问题原因与解决办法[多图]...
  5. 多线程 ---- 线程的通信
  6. 市场分析-全球与中国纳米复合太阳能电池市场现状及未来发展趋势
  7. 手机c语言图形界面编程工具,「分享」C语言如何编写图形界面
  8. python爬取猫眼电影数据
  9. 微信小程序——音乐播放器
  10. Java计算机毕业设计体育网站前端设计源码+系统+数据库+lw文档