没有合适的资源?快使用搜索试试~ 我知道了~
.net core3.1 WebAPI使用HttpClient为企业微信上传临时素材
需积分: 49 23 下载量 135 浏览量
2020-12-18
16:26:04
上传
评论
收藏 2KB TXT 举报
温馨提示
试读
2页
asp.net core3.1 webAPI对接企业微信上传临时素材,返回media_id. 来自于实际项目;
资源推荐
资源详情
资源评论
/// <summary>
/// 上传临时素材
/// </summary>
/// <param name="file">文件(文件名中文有乱码问题)</param>
/// <returns></returns>
[HttpPost]
public async Task<IActionResult> UploadMedia(IFormFile file)
{
var tokenResult = GetQYAccessToken().Result;
dynamic resultObj = JsonConvert.DeserializeObject(tokenResult);
var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", resultObj.access_token, file.Name);
//读取上载文件流
var stream = file.OpenReadStream();
byte[] data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
stream.Close();
var boundary = DateTime.Now.Ticks.ToString("X");// 随机分隔线
var content = new MultipartFormDataContent(boundary);
content.Headers.Remove("Content-Type");
content.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary);
HttpContent byteContent = new ByteArrayContent(data);
content.Add(byteContent);
byteContent.Headers.Remove("Content-Disposition");
byteContent.Headers.TryAddWithoutValidation("Content-Disposition", $"form-data; name=\"media\";filename=\"{file.FileName}\"" + "");
byteContent.Headers.Remove("Content-Type");
byteContent.Headers.TryAddWithoutValidation("Content-Type", "application/octet-stream");
var client = _httpClientFactory.CreateClient();
/// 上传临时素材
/// </summary>
/// <param name="file">文件(文件名中文有乱码问题)</param>
/// <returns></returns>
[HttpPost]
public async Task<IActionResult> UploadMedia(IFormFile file)
{
var tokenResult = GetQYAccessToken().Result;
dynamic resultObj = JsonConvert.DeserializeObject(tokenResult);
var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", resultObj.access_token, file.Name);
//读取上载文件流
var stream = file.OpenReadStream();
byte[] data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
stream.Close();
var boundary = DateTime.Now.Ticks.ToString("X");// 随机分隔线
var content = new MultipartFormDataContent(boundary);
content.Headers.Remove("Content-Type");
content.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary);
HttpContent byteContent = new ByteArrayContent(data);
content.Add(byteContent);
byteContent.Headers.Remove("Content-Disposition");
byteContent.Headers.TryAddWithoutValidation("Content-Disposition", $"form-data; name=\"media\";filename=\"{file.FileName}\"" + "");
byteContent.Headers.Remove("Content-Type");
byteContent.Headers.TryAddWithoutValidation("Content-Type", "application/octet-stream");
var client = _httpClientFactory.CreateClient();
资源评论
weixin_39725436
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功