Td.Weixin.Public/Extra/MediaManager.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Td.Weixin.Public.Common;
namespace Td.Weixin.Public.Extra
{
public class MediaManager
{
/// <summary>
/// 当前的接口地址
/// </summary>
public const string DefaultUploadUrl = "http://file.api.weixin.qq.com/cgi-bin/media/upload";
//
public const string DefaultDownloadUrl = "http://file.api.weixin.qq.com/cgi-bin/media/get";
/// <summary>
/// 使用缓存的accessToken与默认地址初始化实例
/// </summary>
public static MediaManager Default
{
get { return new MediaManager(Credential.CachedAccessToken); }
}
public string AccessToken { get; set; }
public string UploadUrl { get; set; }
public string DownLoadUrl { get; set; }
public MediaManager(string accessToken)
{
AccessToken = accessToken;
UploadUrl = DefaultUploadUrl;
DownLoadUrl = DefaultDownloadUrl;
}
/// <summary>
/// 上传媒体。
/// 注意:如果上传失败,会抛出WxMenuException异常
/// </summary>
/// <param name="media"></param>
/// <returns></returns>
public RemoteMedia Upload(LocalMedia media)
{
var checkRet = MediaChecker(media);
if (!checkRet.IsSuccess)
throw new WxException(-9999, checkRet.ErrMsg);//todo:考虑是否设计新的Exception类,以区分异常是由微信抛出还是本地抛出
var param = new FormData()
{
{"access_token", AccessToken},
{"type", media.MediaType}
};
var rs = new HttpHelper(UploadUrl).Upload(param, media.MediaPath);
var ret = JsonConvert.DeserializeObject<RemoteMedia>(rs);
后面还有 150 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。