wkhtmltoimage 卡住了_用rails做一个简单的长微博生成工具
长微博就是把文字转换成图片,主要用到的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做一个简单的长微博生成工具相关推荐
- python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...
- 用html5做一个简单网页_用Python做一个简单的翻译工具
编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...
- 用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具
编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...
- python制作查询工具发给别人使用_用Python做一个简单的翻译工具
编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...
- python怎么写游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)
引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...
- python编辑游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)
引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...
- python石头剪刀布游戏注释_用python做一个简单逻辑的游戏——剪刀石头布
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:萝卜的百科书 我们的基础中的基础,在前几文中已经介绍完了,其他的知识 ...
- java 做计算器 百度云_用Java做一个简单的计算器
窗体 package Calc; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * * 计算器程序6261 ...
- 简单绘图软件实现mfc大作业_生产流程图怎么做?简单易上手的流程图工具
生产流程图是什么呢?首先,生产流程指的是在生产的过程中,劳动者通过利用一定的生产设备或工具,将各种原材料.半成品投入,按照一定顺序进行加工,最终得到成品产出的整个过程.而生产流程图则是使用图表符号的形 ...
最新文章
- 设计模式之C#实现---Builder
- 搜索引擎的时效性需求满足
- linux的bash与sh的区别
- educoder 使用线程锁(lock)实现线程同步_性能:Lock的锁之优化
- 让互联网拥抱移动VR,三星将发布新版VR浏览器
- 【C语言进阶深度学习记录】三十五 程序中的堆、栈以及静态存储区(数据区)
- 旅游系统_旅游标识系统,必须真的“旅游化”
- Linux执行U盘里内程序,Linux 最小系统挂载U盘(SD、TF卡)并执行程序
- element ui 弹窗在IE11中关闭时闪现问题修复
- 易语言新手入门教程第十四课 - QQ自动登录器第二部分
- python正则表达式提取字符串中的书名_使用python正则表达式从字符串中提取名称...
- CUDA之GPU生态系统
- php一句话上传webshell,一句话shell,哪些是恶意的php一句话webshell
- 笔记本电脑怎么做计算机题吗,笔记本怎么重装系统 笔记本重装电脑简单教程【图文教程】...
- HuskyLens人工智能摄像头
- RFID资产管理系统解决方案
- python数据提取和合并_用Python提取和合并Excel数据
- 视频后期合成软件:nuke12 mac版 v12.2v4最新版(支持big sur)
- csharp高级练习题:ASCII85编解码【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
- 解决报错Process finished with exit code -1073741571 (0xC00000FD),修改栈大小
热门文章
- 移交笔记本电脑前如何安全地删除个人数据
- Ubuntu环境下moos-Ivp编译
- 自实现微微型axios
- 小森生活一直显示服务器连接异常,小森生活进不去怎么解决?无法进入游戏问题原因与解决办法[多图]...
- 多线程 ---- 线程的通信
- 市场分析-全球与中国纳米复合太阳能电池市场现状及未来发展趋势
- 手机c语言图形界面编程工具,「分享」C语言如何编写图形界面
- python爬取猫眼电影数据
- 微信小程序——音乐播放器
- Java计算机毕业设计体育网站前端设计源码+系统+数据库+lw文档