1   public string UploadImgByB64(string b64)
2 {
3 //access_token 需要自己获取
4 string access_token = getToken();
5 string url = $"https://api.weixin.qq.com/cgi-bin/media/upload?access_token={access_token}&type=image";
6 byte[] data = Convert.FromBase64String(b64);
7 var boundary = "fbce142e-4e8e-4bf3-826d-cc3cf506cccc";
8 var client = new HttpClient();
9 client.DefaultRequestHeaders.Add("User-Agent", "KnowledgeCenter");
10 client.DefaultRequestHeaders.Remove("Expect");
11 client.DefaultRequestHeaders.Remove("Connection");
12 client.DefaultRequestHeaders.ExpectContinue = false;
13 client.DefaultRequestHeaders.ConnectionClose = true;
14 var content = new MultipartFormDataContent(boundary);
15 content.Headers.Remove("Content-Type");
16 content.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary);
17 var contentByte = new ByteArrayContent(data);
18 content.Add(contentByte);
19 contentByte.Headers.Remove("Content-Disposition");
20 contentByte.Headers.TryAddWithoutValidation("Content-Disposition", $"form-data; name=\"media\";filename=\"{Guid.NewGuid()}.png\"" + "");
21 contentByte.Headers.Remove("Content-Type");
22 contentByte.Headers.TryAddWithoutValidation("Content-Type", "image/png");
23 try
24 {
25 var result2 = client.PostAsync(url, content);
26 if (result2.Result.StatusCode != HttpStatusCode.OK)
27 throw new Exception(result2.Result.Content.ReadAsStringAsync().Result);
28 string jsonstr = result2.Result.Content.ReadAsStringAsync().Result;
29 var dic = Newtonsoft.Json.Linq.JObject.Parse(jsonstr);
30 return dic["media_id"].ToString();
31 }
32 catch (Exception ex)
33 {
34 return null;
35 }
36 }

微信三方平台开发上传base64格式图片至临时素材的更多相关文章

  1. 微信支付特约商户进件中base64格式图片上传

    微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...

  2. vue实现PC端调用摄像头拍照人脸录入、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式

    进入正题 1. PC端调用摄像头拍照上传base64格式到后台,这个没什么花里胡哨的骚操作,直接看代码 (canvas + video) <template> <div> &l ...

  3. 上传base64格式的图片到服务器

    上传base64格式的图片到服务器 /**bash64上传图片 * @param $base64 图片的base64数据 * @param $path 保存路径 */ function base64_ ...

  4. Vue directive自定义指令+canvas实现H5图片压缩上传-Base64格式

    前言 最近优化项目-手机拍照图片太大,回显速度比较慢,使用了vue的自定义指令实现H5压缩上传base64格式的图片 canvas自定义指令 Vue.directive("canvas&qu ...

  5. uniapp微信小程序保存base64格式图片的方法

    uniapp保存base64格式图片的方法首先第一要先获取用户的权限 saveAlbum(){//获取权限保存相册 uni.getSetting({//获取用户的当前设置 success:(res)= ...

  6. laravel 存储base64格式图片

    laravel 存储base64格式图片 一.总结 一句话总结: 用正则替换base64图片编码的编码头即可 存储图片的话,用laravel可以用Storage的put方法,原生php可以用file_ ...

  7. 小程序上传base64的图片,可上传多张

    微信小程序上传图片转化为base64格式 clickimage: function(e) { var index = e.currentTarget.dataset.index; var count ...

  8. 前端上传 base64 编码图片到七牛云存储

    参考文档 如何上传base64编码图片到七牛云 调试过程 文档中分别有 java 和 html 的 demo,可以根据文档示例调试. 下面是我调试的过程,可以作为参考,特别注意的是,如果需要给文件起名 ...

  9. Java微信公众平台开发之OAuth2.0网页授权

    根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...

随机推荐

  1. CentOS7 执行 service iptables save 报错 The service command supports only basic LSB actions xxxxxx

    现象描述 在 CentOS 7.6.1810 下执行 service iptables save 命令,出现如下错误: [root@test ~]# service iptables save The ...

  2. ansible-playbook模板化(jinja2)

    1. ansible-playbook模板化(jinja2)条件与循环  1.1) jinja使用结构图 2. 编写jinja2的循环  2.1) 编写jinja2模板 1 [root@test-1 ...

  3. day22 函数整理

    # 1.计算 年月日时分秒 于现在之间差了多少 格式化时间 # 现在 # 某一个年月日时分秒 参数 # import time # def get_time(old_t,fmt = '%Y-%m-%d ...

  4. 基于python实现二叉树的遍历

    """ 二叉树实践: 用递归构建树的遍历 # 思路分析 -- 1.使用链式存储,一个Node表示一个数的节点 -- 2.节点考虑使用两个属性变量,分别表示左连接右连接 & ...

  5. swoft实现自动重启服务 转

    目的:1.上传代码后HTTP服务自动重启,不需要自己手动执行:php bin/swoft http:start2.自动重启适用于开发调试阶段,因为不能再后台运行所以在线上环境的话还是要重启http服务 ...

  6. 第十七章 DNS原理

    一.DNS的相关介绍 1.主机名与IP地址映射需求 1)IP地址难于记忆 2)能否用便于记忆的名字来映射IP地址? 2.hosts文件 1)hosts文件记录了主机名和IP地址的对应信息 2)host ...

  7. vue知识点12

    知识点归纳整理如下: 1. 数组用下标改变,或者对象增加属性,这样的改变数据   是不能触发视图更新的,要用 Vue.set(对象,属性,值) 或this.$set(对象,属性,值) 2. this. ...

  8. Vue3实战系列:Vue3.0 + Vant3.0 搭建种子项目

    最近在用 Vue3 写一个开源的商城项目,开源后让大家也可以用现成的 Vue3 大型商城项目源码来练练手,目前处于开发阶段,过程中用到了 Vant3.0,于是就整理了这篇文章来讲一下如何使用 Vue3 ...

  9. Mac下使用GitHub+Hexo搭建个人博客

    首发链接 开始之前需要在电脑上安装好Git和node.js,Mac上可以使用Homebrew命令行工具来安装Git和node.js 安装Homebrew 在命令行工具输入以下命令,如果已经安装过Hom ...

  10. openresty 的小白记录

    openresty提供了一个快速访问数据库,快速响应的功能.基于lua + redis,我们可以做到快速响应,达到10k级连接的处理能力. openresty 的小白记录 好的学习资料,从lua到op ...