tnblog
首页
视频
资源
登录

微信公众号上传图片,视频素材

5504人阅读 2019/12/17 16:07 总访问:400884 评论:0 收藏:0 手机
分类: 微信公众号

一天休息,闲来无事,丈夫这是就问妻子说:“亲爱的老婆,你知道鱼为什么是哑巴吗?”,这是妻子也感到疑惑了,为什么鱼是哑巴呢?妻子回答到:“我也不知道,你说为什么是哑巴呢?”,丈夫一句话说完妻子拿着棒子追了他两条街,丈夫说:“你把脑袋潜入水中,说话试试看能不能说出话来”。

  哈哈,是不是觉得这个段子有点搞笑呀,学习的时候偶尔娱乐一下还是可以的。


  今天我们主要分享的就是关注微信公众号怎样上传需要的素材。

 我们在做微信公众号开发的时候,肯定需要一些图片或者视频等等,增加自己公众号的色彩风格。


 1,我们主要讲解上传图片,结合微信官方文档的话,还是不那么难,不过文档里还是有几个小坑的,自己做的时候也是搞半天。

   第一步:我们可以新建一个控制器上传素材。如下图:

 

  上传临时图片素材视图代码如下:

  1.  @{
  2.     string token = NETtoken.tools.AccessTokentools.GetToken();
  3.   }
  4. @*新建临时图片素材*@
  5. <form action="https://api.weixin.qq.com/cgi-bin/media/upload?access_token=@token&type=image" method="post" enctype="multipart/form-data">
  6.         <input type="file" name="media" />
  7.         <input type="submit" value="上传素材资源" />
  8.     </form>

上传永久图片素材代码如下:

  1. @{    
  2.   string token = NETtoken.tools.AccessTokentools.GetToken();
  3. }
  4. @*新建永久图片素材*@
  5. <form id="upform" action="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=@token&type=image" method="post" enctype="multipart/form-data">    
  6. <input type="file" name="media" />    
  7. <input type="submit" value="上传图片素材资源" /></form>

区别:分别调用的接口不一样,相同点:type类型一致,token一致。

最后:我们调试项目里的该视图,输出的json对象的提示为ok即可,如下图:



2,我们主要讲解上传视频素材,这里和上传图片不太一样,文档官方给我们设置了一些小坑。

 第一步:参考官方文档:post调用新增视频素材接口,但是根据上传视频素材文档,还需要两个参数。如下图:

 



 分析:我们本来上传图片就是用的form表单提交,文档里说还需要post另外一个表单,这个懵了。试了很多种方法也不得行。

         后来只有不根据文档为表单提供参数,解决方案如下:

  思路讲解:上传是绑定一个单击事件,来提供文档需要的参数,代码如下:

  1. @{
  2.     string token = NETtoken.tools.AccessTokentools.GetToken();
  3. }
  4. <div>
  5.     <form id="upform" 
  6. action="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=@token&type=voice"
  7.  method="post" enctype="multipart/form-data">
  8.         <input type="file" name="media" />
  9.         <input type="text" name="description" id="description" style="width:100%" />
  10.         <input type="button" value="上传视频" onclick="upvideo()" />
  11.     </form>
  12. </div>
  13. <script>
  14.     //给上传视频和视频描述添加事件
  15.     var upvideo = function ({
  16.         var upform = document.getElementById("upform");
  17.         //视频描述
  18.         var description = document.getElementById("description");
  19.         var jsonobj = {};
  20.         jsonobj.title = "这是个微小视频";
  21.         jsonobj.introduction = "微信清新小视频";
  22.         console.log(description);
  23.         //将json对象转换为字符串
  24.         description.value = JSON.stringify(jsonobj);
  25.         upform.submit();
  26.     }
  27. </script>

  到这一步的话,代码部分就差不多行啦。我们只需要运行调试该视图,假如返回 OK 的话,就没问题啦。

 

 有啦素材之后,我们就可以做视频的推送功能啦。下面我们做视频消息的推送。

  和以前的消息推送一个,在消息推送类封装推送视频的方法。如下图;

 


  然后我们在控制器,判断文字逻辑,推送相应的内容。如下图:

 


注释:第二个箭头内容为上传图片时候返回的id,第三个箭头为上传视频是返回的id。 (这里没有截图,但是自己做时,只有上传成功就有id 哦)


  最后:我们把项目发布到自己的服务器就好啦, 成功之后,在公众号聊天室输入net就有图片推送,输入动态头像就有视频推送哦。

  欢迎大家体验,这里,我分享一下我的测试号二维码:

 

欢迎大家留言讨论哦。

 






评价

css弹性盒子flex布局

css弹性盒子由于版本不同浏览器问题造成了一些不同的写法display:flexbox;在google浏览器中如果使用下面的写法就不行displa...

可输入下拉文本框据输入动态加载数据 jquery-editable-select

用到一个jquery-editable-select的控件github地址:https://github.com/indrimuska/jquery-editable-select这个插件的原理是...

.net mvc分部页.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

css中单位pxemrem和vh/vw的理解

&gt;px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。em是相对长度单位。相对于当前对象内文本的字...

让IIS支持webp格式图片让IIS支持vtt格式iis设置mime类型iis配置支持的类型

webp格式图片可以让图片体积变小。也让下载图片变得更加困难一点 在线制作webp工具 https://www.upyun.com/webp?utm_mediu...

网页上传文件断点续传的实现无视文件大小上传以及datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

如何使用图标像使用文字一样使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

使用七牛云的cdn服务提高图片的加载速度

CDN介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,...

通俗易懂什么是.NET?什么是.NET Framework?什么是.NET Core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

JS监听input、keydown有输入法时打字完成后触发事件

在给输入框绑定input或keydown事件时预期效果是有输入法时,输入中文后触发事件,不希望输一个字母就触发一次事件可以用到c...

修改了css后让浏览器从缓存中更新

当我们修改了css后,如果不做一些操作,浏览器是不会自动更新我们的样式文件的。除非是过期或者用户手动刷新清理缓存等。所...

C MVC RedirectToAction跳转时候传递参数Action之间传值

MVC Action之间传值,页面跳转传值方法一:路由传值很简单直接使用 RedirectToAction(string actionName, string controller...

当你工作遇到以下几种状态时请果断跳槽走人

已经有想跳槽的念头,但是一直磨磨蹭蹭、犹犹豫豫的混日子,这种念头或者一直持续,或者是不是冒出头来占据你的思维了。于...

C与Java二进制编码转换补码

在C#与Java接口对接时,需要将图片转化为二进制编码传输,这时候发现c#转换出来的编码的值是0~255的范围,而java方需要的是...
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 : 不错哦
MUI框架页面间的传值指针
剑轩 : 接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 : 好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
如果分手的恋人还能做朋友,要不从没爱过,要不还在爱着。