当前位置: 首页 > 工具软件 > fastweixin > 使用案例 >

java 企业号 临时素材_【fastweixin框架教程8】微信企业号临时素材管理

景鸿才
2023-12-01

下面这个类我对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();

}

}

}

 类似资料: