tijian_tieying/web/dccdc/Common/Deepleo.Weixin.SDK/MaterialAPI.cs

68 lines
2.9 KiB
C#
Raw Normal View History

2025-02-20 12:14:39 +08:00
/*--------------------------------------------------------------------------
* MaterialAPI.cs
*Auth:deepleo
* Date:2015.07.25
* Email:2586662969@qq.com
* Website:http://www.weixinsdk.net
*--------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Codeplex.Data;
using System.IO;
using Deepleo.Weixin.SDK.Helpers;
namespace Deepleo.Weixin.SDK
{
/// <summary>
/// 对应微信API的 "素材管理"
/// </summary>
public class MaterialAPI
{
/// <summary>
/// 新增临时素材/上传多媒体文件
/// http://mp.weixin.qq.com/wiki/5/963fc70b80dc75483a271298a76a8d59.html
/// 1.上传的媒体文件限制:
///图片image) : 1MB支持JPG格式
///语音voice1MB播放长度不超过60s支持MP4格式
///视频video10MB支持MP4格式
///缩略图thumb)64KB支持JPG格式
///2.媒体文件在后台保存时间为3天即3天后media_id失效
/// </summary>
/// <param name="access_token"></param>
/// <param name="type">媒体文件类型分别有图片image、语音voice、视频video和缩略图thumb</param>
/// <param name="fileName">文件名</param>
/// <param name="inputStream">文件输入流</param>
/// <returns>media_id</returns>
public static string UploadTempMedia(string access_token, string type, string fileName, Stream inputStream)
{
var url = string.Format("http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", access_token, type.ToString());
var result = DynamicJson.Parse(Util.HttpRequestPost(url, "media", fileName, inputStream));
inputStream.Close();
inputStream.Dispose();
return result.media_id;
}
/// <summary>
/// 获取临时素材/下载多媒体文件
/// http://mp.weixin.qq.com/wiki/11/07b6b76a6b6e8848e855a435d5e34a5f.html
/// 公众号可以使用本接口获取临时素材即下载临时的多媒体文件。请注意视频文件不支持https下载调用该接口需http协议。
/// 本接口即为原“下载多媒体文件”接口。
/// </summary>
/// <param name="savePath"></param>
/// <param name="access_token"></param>
/// <param name="media_id"></param>
public static void DownloadTempMedia(string savePath, string access_token, string media_id)
{
var url = string.Format("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={0}&media_id={1}", access_token, media_id);
FileStream fs = new FileStream(savePath, FileMode.Create);
Util.Download(url, fs);
fs.Close();
fs.Dispose();
}
}
}