文档章节

carp搭建公众平台(三)——上传下载多媒体文件

 红木
发布于 2014/02/19 09:27
字数 717
阅读 229
收藏 3

如不知道如何下载和部署carp,请看carp的介绍和配置一文。

公众平台的上传下载多媒体文件都是典型的主动消息动作,需要提醒一点,使用接口上传的多媒体文件,是无法使用公众平台的后台管理查看到的,上传成功后的mediaId,只能通过接口查看,所以carp把所有已上传的多媒体文件的本地位置,和获得的mediaId保存到了updatefile这张表。

carp中已内建了多媒体文件上传和下载的task的定义(不理解task含义的,请参考carp搭建公众平台(一)——发送客服消息一文),可以很方便的传递多媒体文件到公众平台。

上传多媒体文件的task名叫做“updatefile”,对应的Task类是UpdateFileTask.java,回调的Work类是UpdateFileWork.java,使用起来也很简单,部分代码如下:

//获得上传文件

File file = new File("c:/20121218182221_504.jpg");

//获得Task

UpdateFileTask task = (UpdateFileTask) carp.getTaskRepertory()

.getTaskByName("updatefile");

//为task赋值图片上传文件,对应的方法还有setVoiceFile()和setVedioFile(),对应音频文件和视频文件

task.setImgFile(file);

//发送任务

task.send();

任务执行成功后,会回调UpdateFileWork中的toDo()方法,将返回的mediaId保存到updatefile表中;具体的代码可查看demo中的UpdateFile。

下载多媒体文件的task名叫做“downloadfile”,对应的Task类是DownloadFileTask.java,回调的Work类是DownloadFileWork,需要提醒,这个回调的work没有把下载后的文件信息保存到数据库,只是将多媒体文件简单的保存到了本地,如果需要重新发送或者保存到数据库,需要自定义一个自己的Work类。下载多媒体文件的task使用也很方便,部分代码如下:

//获得任务实例

DownloadFileTask task = (DownloadFileTask) carp.getTaskRepertory()

   .getTaskByName("downloadfile");

//把需要下载的多媒体文件的mediaId为task赋值

task

    .setMediaId("wfvPPnhChKK00uTf_PzadtQ6C2w1H6XKjFV7pY68jbKB3DxTsINAgILfn3bs_NxO");

//发送任务

task.send();

carp中内置了大多数的复杂任务,通过对比weixin.task.xml中url,就可以了解这一点了。

carp技术群:368193775

相关文章:

carp的介绍和配置

carp搭建公众平台(一)——发送客服消息

carp搭建公众平台(二)——获得所有客户信息和自定义任务





© 著作权归作者所有

粉丝 0
博文 4
码字总数 3205
作品 0
东城
私信 提问
carp搭建公众平台(二)——获得所有客户信息和自定义任务

如不知道如何下载和部署carp,请看《carp的介绍和配置》一文。 根据开发者文档,公众平台的用户信息由3部分组成,第一次是获取openId,第二次获取用户信息,第三次获取组信息; 如果有1000个...

红木
2014/02/18
0
0
carp搭建公众平台(一)——发送客服消息

如不知道如何部署carp,请看《carp的介绍和配置》一文 公众平台提供的服务号能够为用户发送客服消息、获得用户列表、分组信息等内容; carp通过weixin.task.xml文件进行此类消息的发送处理的...

红木
2014/02/17
0
0
微信公众平台SDK for Go

这是一个使用Go语言编写的微信公众平台开发接口封装包. Updates Release 20140608 ---------------- 创建/查询/删除自定义菜单 Release 20140322 ---------------- 上传/下载多媒体文件 创建...

sidbusy
2014/03/18
4.5K
0
【开发记录】微信小游戏开发——俄罗斯方块

叨叨   我在前一阵子,打算做一个微信小游戏,当然是单机的,只是为了了解小游戏开发的过程,最终选择了俄罗斯方块这一经典小游戏作为demo,源代码已托管值github,当然,这个游戏demo对用...

愉悦的绅士
2018/08/23
0
0
微信小程序——搭建自己的Https服务器

一、注册微信小程序 进入微信公众平台,使用邮箱账号,选择注册小程序账号。一个邮箱只能注册一个类型的微信账号(订阅号、服务号、小程序)。 二、搭建Https服务器 1、域名注册 1.1、登录腾...

dnuser
2018/09/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在工作中快速成长?致工程师的10个简单技巧

阿里妹导读:阿里有句非常经典的土话,“今天的最好表现,是明天的最低要求。”如何挖掘潜能、发现更好的自己?今天,阿里巴巴高级无线开发专家江建明将认知升级的方法总结出来,帮助你获得快...

阿里云云栖社区
28分钟前
1
0
PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。 抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对...

xiaogg
30分钟前
0
0
从数据上看:谁才是漫威的绝对C位

复联4上映了!这次比美国还早了两天。当然,我还没看,不会给你们剧透,当然也不想不剧透。 这一部不仅是灭霸这一线剧情的结局,也被认为漫威第三阶段的收官之作。据说此部之后,不少影迷熟知...

crossin
43分钟前
3
0
Spring Cloud底层原理

毫无疑问,Spring Cloud 是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。 不过大多数讲解还停留在对 Spring Cloud 功能使用的层面,其底层的很多原理,很多人可能并不知晓。 ...

月下狼
53分钟前
5
0
Linux重启Tomcat

在测试过程中,要构建测试环境,还经常要重启Tomcat排查问题,重启Tomcat的步骤: 1、首先查看Tomcat是否有启动或重复启动? 输入命令ps -aux|grep java按回车键,可见下图,是有一个Tomcat启...

测试龙管家
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部