java 企业号 临时素材_【fastweixin框架教程8】微信企业号临时素材管理
下面这个类我对fastweixin 框架的简单封装调用,大家可以参考,如果需要QYAPIConfigExt和MainServernSupport,请参考本教程以前几篇文章。
关于素材的官方说明:
企业可以使用素材管理的接口将多媒体文件包括图片、音频、视频、文件以及图文消息上传到素材库。对多媒体文件、多媒体消息素材的获取和调用等操作,是通过media_id来进行的。通过本接口,企业可以上传或下载素材。素材文件类型包括两种:
临时素材文件:(media_id)会在上传到微信服务器3天后自动删除,以节省服务器资源。
永久素材文件:(media_id)会一直保存在微信服务器上,但是对企业能够保存的永久素材数量有所限制: 整个企业图文消息素材和图片素材数目的上限为5000,其他类型为1000.
主页型应用不能调用接口上传,获取,及删除素材。
对于老的微信开发教程补充:临时素材和永久素材的管理,原先的(老的)素材管理就是临时素材管理,区别就是永久素材可以永久保留在微信服务器上。
package com.nsjs;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import com.fastwixinextend.QYAPIConfigExt;
import com.github.sd4324530.fastweixin.api.MaterialAPI;
import com.github.sd4324530.fastweixin.api.enums.MediaType;
import com.github.sd4324530.fastweixin.api.response.DownloadMaterialResponse;
import com.github.sd4324530.fastweixin.api.response.UploadMaterialResponse;
import com.github.sd4324530.fastweixin.company.api.QYMediaAPI;
import com.github.sd4324530.fastweixin.company.api.response.DownloadMediaResponse;
import com.github.sd4324530.fastweixin.company.api.response.UploadMediaResponse;
import com.github.sd4324530.fastweixin.message.Article;
public class MediaManage {
public QYAPIConfigExt config = null;
public QYAPIConfigExt initConfig() {
if (config == null) {
config = new QYAPIConfigExt(MainServernSupport.getCropId(), MainServernSupport.getAPPSecret(),
"luozhuang", System.currentTimeMillis());
}
return config;
}
public QYAPIConfigExt initConfig(String CropId, String APPSecret, String AccessToken, long AccessTokenTime) {
QYAPIConfigExt config;
config = new QYAPIConfigExt(CropId, APPSecret, AccessToken, AccessTokenTime);
return config;
}
/**
* 上传临时素材
*
* @param mediaPathString
* @param type
* @return
*/
public String uploadMedia(String mediaPathString, MediaType type) {
QYMediaAPI mediaAPI = new QYMediaAPI(initConfig());
UploadMediaResponse response1 = mediaAPI.upload(type, new File(mediaPathString));
return response1.getMediaId();
}
public String uploadMedia(File mediaFile, MediaType type) {
QYMediaAPI mediaAPI = new QYMediaAPI(initConfig());
UploadMediaResponse response1 = mediaAPI.upload(type, mediaFile);
return response1.getMediaId();
}
/**
* 下载临时素材
*
* @param MediaID
* @param out
* @throws IOException
*/
public void downloadMaterial(String MediaID, OutputStream out) throws IOException {
QYMediaAPI materialAPI = new QYMediaAPI(initConfig());
// 此处是下载图片的文件
//
DownloadMediaResponse response = materialAPI.download(MediaID);
response.writeTo(out);
out.close();
}
public static void main(String[] args) {
MediaManage mediaManage = new MediaManage();
String MediaId = mediaManage.uploadMedia("C:\\Users\\luozhuang\\Desktop\\topbg02.png", MediaType.IMAGE);
FileOutputStream fos;
try {
fos = new FileOutputStream(new File("C:\\Users\\luozhuang\\Desktop\\topbg03.png"));
mediaManage.downloadMaterial(MediaId, fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
java 企业号 临时素材_【fastweixin框架教程8】微信企业号临时素材管理相关推荐
- php 企业号文本消息推送,Python如何实现微信企业号文本消息推送功能的示例
这篇文章主要介绍了Python编程实现微信企业号文本消息推送功能,结合实例形式分析了Python微信企业号文本消息推送接口的调用相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python微信企业号 ...
- spark访问java也web服务_微框架spark--api开发利器
spark简介 Spark(注意不要同Apache Spark混淆)的设计初衷是,可以简单容易地创建REST API或Web应用程序.它是一个灵活.简洁的框架,大小只有1MB.Spark允许用户自己选 ...
- java调用easyxml接口_【技术教程】如何通过Java程序调用RTSP拉流协议视频平台EasyNVR程序接口?...
原标题:[技术教程]如何通过Java程序调用RTSP拉流协议视频平台EasyNVR程序接口? RTSP协议视频平台EasyNVR经过多年的积累,已经是一套成熟且完善的视频平台了,用户可以通过网页直接访 ...
- java搭建安卓服务器_无框架完整搭建安卓app及其服务端(一)
技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...
- java list的作用_集合框架(List集合的特有功能概述和测试)
package cn.itcast_03; import java.util.ArrayList; import java.util.List; /* * List集合的特有功能: * A:添加功能 ...
- java跑批任务调度_任务调度框架Quartz实现的跑批程序(四)
Job与JobDetail是Quartz用来定义具体任务的,而Trigger则是用来定义任务如何执行的.Quartz提供了Trigger接口来定义公共属性,使用TriggerBuilder可以创建具体 ...
- python元数据相加函数_【Nuke教程】通过Python获取素材Metadata(元数据)
作者介绍 读取metadata 函数metadata() 返回一个字典,包含了特点指定节点的metadata: node = nuke.toNode( 'Read1' ) print node.met ...
- java web 医疗器械_基于jsp的医疗器械进销存管理-JavaEE实现医疗器械进销存管理 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的医疗器械进销存管理, 该项目可用各类java课程设计大作业中, 医疗器械进销存管理的系统架构分为前后台两部分, 最 ...
- java反编译软件_安卓强大的逆向软件,媲美MT管理器!
手机上目前功能最强大的反编译工具是MT管理器,为手机用户提供了强大的逆向功能. 包括APK签名,优化,共存以及dex反编译等功能 虽然功能强大,但是目前很多功能都要收费,一百多的价格对一般用户来说,确 ...
- java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
先看看效果: 用极少的代码实现了 动态详情 及 二级评论 的 数据获取与处理 和 UI显示与交互,并且高解耦.高复用.高灵活. 动态列表界面MomentListFragment支持 下拉刷新与上拉加载 ...
最新文章
- 欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响
- Springboot+Docker+RabbitMQ教程来了。
- openssl工具调试ssl加密ftp
- linux mysql5.6 安装
- 蓝桥杯第八届省赛JAVA真题----承压计算
- global.asax不执行原因
- matlab编程设计fir滤波器,用MATLAB设计FIR滤波器
- 深度学习实践与部署(开篇)
- 组织架构递归_映射架构和递归管理数据–第1部分
- angularjs获取上一个元素的id_DOM(1)-DOM概念和获取元素
- Linux内存管理--基本概念【转】
- 用EasyRecovery怎么恢复电脑中已删除的视频
- USGS网站中STRM DEM数据批量下载
- ios加密算法AES
- 【视频直播篇七】Aliplayer的使用
- 攻防世界-Crypto-告诉你个秘密(键盘密码)-ISCC2017
- 仿win10系统UI界面纯html网页网站后台UI界面
- 记录下我磕磕碰碰的三个月找工作经历,完整PDF
- 三年级优秀书籍推荐_三年级推荐书单
- ❤️Android Apk 的打包过程 ❤️ 只需两幅图
热门文章
- java服务端性能优化_记我的一次 Java 服务性能优化
- Vite入门从手写一个乞丐版的Vite开始(下)
- c语言表达式必须包含指针类型,c – 错误:表达式必须是指向完整对象类型的指针(?)...
- 10个每个人都用得到的视频下载网站
- UE4 ACharacter部分方法介绍
- php读取json三级,php-流明从文件中读取JSON
- [POI 2012]Cloakroom(DP)
- Android Debug Bridge
- 用opencv和python读取医学图片:mha
- 红米Note5官方刷机日记 - 小米助手Recovery刷机