【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,企业,微信,素材,多媒体)