说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

PubNub+Cloudinary:简单几步快速搭建实时图片分享应用

HTML文档下载 WORD文档下载 PDF文档下载
如今,人们希望通过Web、移动应用来进行实时性的交互式体验,而PubNub和Cloudinary的消息推送以及基于云端图片处理的功能就能满足人们的需求。那它们的工作流程是怎样的,具体又是怎么工作的呢?

如今,人们希望通过Web、移动应用来进行实时性的交互式体验,而PubNub和Cloudinary的消息推送以及基于云端图片处理的功能就能满足人们的需求。

PubNub是一个非常强大且易于使用的云服务,可进行实时的推送信息应用。而Cloudinary是一个基于云端的图片处理、管理、存储、美化于一体的平台,同时还集成了图片抓取功能,提供API接口。


它们的工作流程很简单:使用Cloudinary让用户在云端上传很多他们想上传的图片,然后通过PubNub发送消息,通知所有与其相关的用户。接收人可以通过Cloudinary来生成与他们特定设备比例相匹配的最初图片,有效的获得图片的最佳视觉体验。上述所有的一切都没有涉及到复杂的编码、调度配置或CPU负载。

具体是如何工作的呢?
 
首先,你可以从GitHub中浏览并复制所有的源代码。

1.首先在页面中嵌入文件输入字段。该字段包含一个在服务器端生成的签名,用来授权浏览器使用Cloudinary的jQuery插件安全上传图片到Cloudinary中。下面的Ruby代码嵌入了签名的输入字段。更多详细信息,请参阅这篇文章。

cl_image_upload_tag(:photo_id, :resource_type => :image,                    :transformation => incoming_transformation)

在云端存储图像之前,:transformation参数通过使用incoming_transformation来限制图像大小、并在图片上添加水印。

这是有关incoming_transformation的定义: 

incoming_transformation = [ { width: 1200, height: 1200, crop: 'limit'},                            { overlay: 'logos_watermark', width: 0.7,                               flags: 'relative', opacity: 40, gravity: 'north', y: 20 } ]

此外,自定义的输入字段和拖动区以及上传进度条都使用了CSS和jQuery(见源代码)来实现的。

 2.当用户单击Share按钮时,具有照片标识的Ajax请求被发送到服务器端,服务器安全地发布一条信息到我们的共享PubNub通道。

以下是服务器端Ruby代码接收标识符和其他的细节信息并发布到PubNub通道, 该通道使用的Ruby库:

preloaded = Cloudinary::PreloadedFile.new(params[:photo_id])         pubnub = Pubnub.new( :publish_key => PUBNUB_PUBLISH_KEY,                      :subscribe_key => PUBNUB_SUBSCRIBE_KEY )pubnub.publish({    :channel => PUBNUB_CHANNEL,    :message => {        cloudinary_photo_id: preloaded.identifier,        user: params[:user],        message: params[:message],        kind: params[:kind],        time: Time.now.utc.iso8601    },    :callback => lambda { |x| $stderr.puts("Shared #{preloaded.public_id}: #{x}") }})

3.客户端代码在浏览器中使用PubNub的Javascript库为新消息预订一个PubNub的通道

var pubnub = PUBNUB.init({ subscribe_key: PUBNUB_SUBSCRIBE_KEY});pubnub.subscribe({ channel : PUBNUB_CHANNEL,                   callback : show_message });

当接收到消息时,该消息中包含了照片上传到Cloudinary中的公共ID。以下是Javascript代码使用Cloudinary的jQuery插件,来显示一个动态转换、基于脸部检测通过CDN的照片缩略图。一旦单击图片,最初上传的图片(该图片含有水印)就会显示出来。

function show_message(message) {  var link = $('<a></a>').    attr('href', $.cloudinary.url(message.cloudinary_photo_id)).    append($.cloudinary.image(message.cloudinary_photo_id,                { width: 150, height: 100, crop: "fill",                 gravity: "face", radius: 20, effect: "sepia"});  $('.stream').prepend($('<li></li>').append(link));}

此外,Javascript代码可获取最近的5个消息,这些消息是在页面加载之前发布的。这是通过使用PubNub的History来是实现的。

pubnub.history({    channel  : PUBNUB_CHANNEL,    limit    : 5,    callback : function(history) { $.each(history, function() { show_message(this); })}});

文章来源:cloudinary.com

控件使用技巧-Delphi资料 改变VCL的行为--一个使用可视化元件的实例-Delphi资料 具有不同字体的列表框-Delphi资料 快速大量地更改控件内容-Delphi资料 快速动态创建MenuItem-Delphi资料 利用Delphi 5中调用Excel 97 利用Delphi的Tbitmap控件抓取屏幕图象 利用delphi美化你的菜单 面向组件的系统开发方法-Delphi资料 强大的树型编程控件TeeTree1.01-Delphi资料 确定MEMO控件中的当前行和列-Delphi资料 让字体左、右对齐-Delphi资料 如何给TListBox加上水平的滚动条?-Delphi资料 如何快速选择一个组件的父亲-Delphi资料 如何用Delphi编写自己的可视化控件 如何用VB创建控件-Delphi资料 生成程序组和项-Delphi资料 实现超级链接-Delphi资料 实战Delphi数据网格色彩特效 使dbgrid的某几笔资料变色-Delphi资料 树形图(Treeview)的使用概述-Delphi资料 透明FORM-Delphi资料 为列表框添光彩-Delphi资料 限制FORM的大小-Delphi资料 用Delphi开发分隔线组件 用Delphi设计拨动、跳线开关组件 用Delphi 设 计 拨 动、 跳 线 开 关 组 件 用Delphi实现JPEG格式图像的显示 用Delphi制作动态有声标签 运行时生成控件-Delphi资料 在DBGRID中实现COPY、PASTE功能-Delphi资料 高手指点,怎样在程序运行时修改DataWindow的Sql语句? 如何在使用Quick report的程序中设置打印机,选择打印机 寻求字符串比较算法,详情请到里面! 我在一个类中调用别外一个类的public成员函数,产生的错误是什么意思? 有哪位高人指点一下,散分了! 能否使用javascript检测客户端是否安装了某个软件? 水园公务帖[2003.03.04—2003.03.09] 请教,如何循环的查找到一个父窗口?出错代码如下,在关闭时出错。原因出在我的相互赋值上面 我想问一下,大家所在的公司软件项目提成都是怎么分配的? 在photoshop里存入什么格式,可以在Coreldraw里,做了drop shodow功能的图象显现出来??? 如何运行JBUILDER编译的程序 zju1222的数据是不是有错误呀? 哪里有2002年高程试题 关于控件 请教:在SQL SERVER2000里面怎样让值显示为******? B/S下如何使用.css?--答对加分,谢谢 200分,ASP.NET如何访问COM+组件?????? JBuider 6 的问题?-->小问题,用过的进来看看!!! 感情问题,请各位帮帮我!!!!!! (校园网)门户网站的设计与组建 关于如何动态分配内存的一个问题,请指教(50分) 在winForm下可以用session 吗? 跟网页下的有什么不同呢? 用orcle搭建一个客户服务器平台,该如何搭建?(通过vc的应用程序在客户端访问)--都有分给的. 初学websnanp,请教几个小问题? 问一个基础问题? 怎样在MDI框架下,显示一个CFORMVIEW类的子窗口? AUTOCAD图形打印驱动程序设计 AUTOCAD图形打印驱动程序设计 情帮忙(50分) 一个水晶报表的问题 有人真正使用过XML开发程序么? 我想买书 pb7.0哪里可以下载? AUTOCAD图形打印驱动程序设计 贺猪猪成星,散分给水友,天下皆欢颜!!! WinRAR的压缩密码怎么取消啊?快,快,急需!!! 没有权限打开names.nsf的问题? 复选框的问题,在线等待!!! 没有权限打开names.nsf的问题? IE浏览器显示的字体不是默认的,变成了空心字体。如何改成系统默认的字体?(win98+IE5.0) 寻找高手 关于协议的问题 求助!能把一个字段内容分解的函数? Servlet问题?(急等,立结) oleconnection 支不支持sybase的连接,不通过odbc如何连接Sybase高手请进!急啊!!! 关于return的问题 为何内存消耗在不断增长? 浏览器类型 求文件长度? 用DELPHI 开发过ORACLE数据库的高手帮忙,我现在遇到个问题, BCB消息机制问题, 关于MFC 为什么有的纸遇到水蒸气会变黑 大车上的沥青怎样才能尽快的除去 未成年人吃转基因西瓜有什么问题? 铵态氮肥与草木灰不能混合施用的原因‘草木灰K2CO3是碱性的,会水解生成OH-,会与氮肥NH4HCO3中的NH4+结合生成NH3和H2O.那么为什么就是NH4+ +OH- = NH3 + H2O而不是NH4+ + OH- = NH4OH(可逆) 交变电流有效值怎么求 以氯乙烷制1,2-二氯乙烷,下列转化方案中,最好的是 ( ) 谁能帮我讲解一下乙肝病毒DNA测定结果~HBV-DNA 结果是 蟾蜍有没有天敌? 红葡萄酒中的单宁和多酚是什么关系?红葡萄酒对心血管等疾病具有防治作用,是因为其多酚进入人体消化系统后与阻止了低密度胆固醇和活性氧的结合等,这里的多酚是单宁吗?如果不是,两者 乙肝病毒DNA定量检测测定值1.87E+7 用什么词形容一个善变的男人更恰当?针对感情的方面 高锰酸钾和氯化钾哪个属含氧化合物但不是氧化物 共聚甲醛(POM)磨成的粉末如果进入到胃里会被胃酸分解成甲醛吗?家里某知名品牌的搅拌机的轴心是由共聚甲醛(POM)做成的,使用过程中竟然因磨损产生黑色的油油的液体并进入到搅拌的 蟾蜍.狼.田鼠.螃蟹.野兔的天敌各是什么 水里没有热量用英语怎么说 聚甲醛是通过甲醛加聚得到的么? 【次北固山下】:诗的颔联中的“阔”表现了一幅什么样的情景?【接上】本诗表达了漂泊在外的游子对家乡亲人深切的思念之情.你认为诗中的哪一处句子最能突出的表达这种思想感情?为什 关于能量的高一化学题(2道)纯锌跟稀硫酸反应时速率很小,为了加快锌的溶解和放出氢气的速率,并且使产生氢气的量不变,当稀硫酸过量时,可向其中加少量( )A.镁条 B.硫酸铜溶液 C.硫化 聚甲醛制品是否含有甲醛聚甲醛在成型过程中会有部分甲醛单体析出,甲醛单体会不会残留在最后制品当中.产品可不可以做到无甲醛 下列属于复合化肥化学式的是 A KCL B NH4HCO3 C NH4H2PO4 D Ca3(PO4)2 选出答案后做个具体解释 谢谢 有关反应中的能量的.请问,在化学反应中,什么样的反应是吸热的?什么样的反应是放热的?有什么规律吗?另:这几个是吸热还是放热的反应?1.碳酸钙受热分解2.乙醇燃烧3.铝粉与氧化铁粉末反应 玻璃密封罐新买的想放些糖果,但瓶子里有一种很难味的味道,怎么才能除掉呢. 氢氧化镭是不是两性氢氧化物 来自 国庆节这天国家会做那些事 E处人口稀少的原因是(A) A空气稀薄 B气候寒冷 C环境湿热 D天气干热请问A为什么对,C为什么错? 氢氧化铊是两性氢氧化物吗? 亲人过世的第一年是清明前去扫墓,还是清明节那天去扫墓?民俗上有什么说法没有?谁能给个答案. 单宁酸的物性? 我觉得你太瘦了,你应该增肥到89斤才配你的升高.英语翻译谢谢 形容人不爱说话次 大家好,24KW的发电机请问可以接220V的电压吗? 不会发胖翻译 如图所示,将物体匀速拉到斜面顶部,试推导斜面上物体受到的摩擦力大小为f=F(1-η) 发电机发的电压是400V,那线电压380V,相电压220V他们间的关系和用户不是用220V的电压吗他们哪个电压才是有实际用处的 宇宙若全是铁是不是就永远不会在变化了.就是完了?我也只是突发奇想,原谅我,见笑于大方之家了.也希望能给解释下,不可能的原因,或者可能?现在觉得这种情况是很让人匪夷所思。若是全变 高中电离平衡问题 氨水和盐酸混合...氨水和盐酸混合氨水过量 还要考虑氨根离子水解么 我国的季风气候对农业生产最有利的是?冬季影响我国的季风是?特点是什么?夏季影响我国的季风是?分别来自哪两个大洋,特点是什么?谢谢每一位回答问题的人:-) 氢氧化铊是两性氧化物吗 申屠蟠重节义 翻译 速求 新手 没多少分 单纯的信风、西风、极低东风对气候有什么影响?湘教版高一地理中关于气压带风带对气候的影响中有一练习,填表信风、西风、极低东风对气候有什么影响?不知道怎么填 单质铊能与盐酸反应放出氢氧化物铊吗?如果能放出氢氧化铊是两性氢氧化物吗?希望懂化学的人士帮帮忙啦,上学时没有好好学,现在想重新再拾起学学~ 申屠蟠中节义 的 翻译 6.单宁酸,其化学式为C76H52O46,下列关于单宁酸的说法不正确的是 ( )6.安徽省盛产茶叶,“太平猴魁”“黄山毛峰”等绿茶享誉海内外.绿茶中的单宁酸具有抑制血压上升、清热解毒、抗癌等功 蛤蟆为什么是蛇的天敌? “君子义以为质,得义则重,失义则轻,由义为荣,背义为辱”是什么意思?快~~~ 保险丝的熔断电流是多大? 蛋白质不能通过细胞膜,也同样不能通过内质网上的模吗什么是胞吞胞吐,他只能发生在蛋白质进出细胞膜的时候吗?那小泡从内质网进入高尔基体也可以叫胞吐吗 90号沥青搁时间久了都有那些变化? 下列对化学式的说法中正确的是()理由.A.任何物质都有化学式 B.化学式是对物质组成的真实反映 C.用元素符号表示的式子都是化学式 D.不稳定的物质写不出化学式 高氯酸的化学式? 与有丝分裂有关的细胞器, EB病毒抗体和EBV-VCA-Iga的区别?EBV-DNA又是什么?EB病毒抗体是不是就是EBV-Ab?跟EBV-VCA-Iga有什么区别?到底哪个跟鼻咽癌有相关性啊?我EB病毒抗体阴性,EBV-VCA-Iga阳性,EBV-DNA阴性,这个问题大不大? 求 古诗【次北固山下】 海日生残夜,江春入旧年. 意思 有丝分裂中细胞器是如何分配的 EBV病毒是什么? 初一古诗《次北固山下》是什么意思 如何由丁醇制备2 丁醇? 宇宙中比铁重的元素是从哪里来的 用多少核弹能把地球在太空的卫星一次性毁灭掉? 鸟叔诉苦称进军海外压力大:两首歌走了叙提交化武销毁计划亲戚行凶 纽约华人母子五人被害英国发明“验精棒”可测精子是否达标埃及前总统穆尔西将受审 拒绝审判无人金华00后女生溜冰场结识男子 旷课5迈克尔杰克逊私人医生刑满出狱 欲再获55岁女子带出骗婚小团队 8个男人相拆反美海报 伊朗要与美国和好?国家公务员考试报名审查结束 浙江8万浙江省质监局:8家桶装水企业连续两次金华8890便民平台开通首日呼入电话安倍窜访土耳其 搅局土中军购“抗衡中国说”凸现安倍“同盟困境”奥巴马医改网站承包商高管是第一夫人同斯诺登曝美国一月内监听西班牙6000英国发生强烈暴风雨天气已致4死 逾6“手机门”困扰德美关系法国总统称新加坡是“战略伙伴”德黑兰“敏感时刻”撤下街头反美海报 波兰前总理在华沙去世 被赞波兰史上最日本自民党通过决议 抗议中方战机再次驻衡阳某军械仓库发生一起爆炸事故 1世界杯期间警惕打着“赌球”旗号的钓鱼菲律宾推迟审判被扣9名中国渔民 因缺伊拉克激进分子北移攻下战略城市泰勒阿纽约笨劫匪运气差:连抢5家银行拿不够美鼓吹解放军出兵伊拉克 把战争麻烦留菲律宾升级距南沙最近海军基地 美军或乌鲁木齐一窃贼一分钟偷两次湖北大冶回应城管打死人:伤者休克系心意大利3名华人在被查封工厂里搬机器 甘肃清水县卫生局长胡国祥涉嫌犯罪被移民调称英国人对移民减少包容 望收紧社崔永元致信农大校长 提议当学生面就转印度拟在俄制二手航母上部署首个国产武外电:解放军征兵开始注重文化素质哈市领导检查公益广告建设情况 发挥公高清:南水北调干渠呈U字形穿过淇河底湖北回应在校生参与替考事件:调查核实加拿大魁省投资移民申请批准率创新低 俄罗斯门将让全世界惊呆了 别人是门神
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘