调用微信接口自动实现上传本地图片

在实现微信图片上传时,因为文件是一个文件,无法向字符串一样通过参数一样直接写在请求地址中,

我自己做了一个页面抓取了一下请求,自己用C#代码拼接了一个请求。

public  string HttpUploadFile() {
            string url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=****************&type=image";

            #region 本地图片

            string path = "E:\\110.jpg";
            int pos = path.LastIndexOf("\\");
            string fileName = path.Substring(pos + 1);
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            byte[] bArr = new byte[fs.Length];
            fs.Read(bArr, 0, bArr.Length);
            fs.Close(); 

            #endregion

            #region 获取从表单中提交的图片

            //var file = context.Request.Files[0];
            //byte[] bArr = new byte[file.InputStream.Length];
            //file.InputStream.Read(bArr, 0, bArr.Length);
            //file.InputStream.Close();

            #endregion

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";

            string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线
            request.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary;
            byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
            byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");

            //请求头部信息
            StringBuilder sbHeader = new StringBuilder(string.Format("Content-Disposition:form-data;name=\"file\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n", fileName));
            byte[] postHeaderBytes = Encoding.UTF8.GetBytes(sbHeader.ToString());

            Stream postStream = request.GetRequestStream();
            postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
            postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
            postStream.Write(bArr, 0, bArr.Length);
            postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
            postStream.Close();
            //发送请求并获取相应回应数据
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            Stream respStream = response.GetResponseStream();
            StreamReader sw = new StreamReader(respStream, Encoding.UTF8);
            string str = sw.ReadToEnd();

            return str;
        }
时间: 2024-08-14 10:08:41

调用微信接口自动实现上传本地图片的相关文章

KindEditor上传本地图片在ASP.NET MVC的配置

http://www.cnblogs.com/upupto/archive/2010/08/24/1807202.html 本文解决KindEditor上传本地图片在ASP.NET MVC中的配置. 开发工具:VS 2010 EN 开发语言:Visual C# ASP.NET MVC 2.0 kindeditor-3.5-zh_CN 下载 文中以Blog文章为例,为做演示,数据表比较简单,如下图: 添加 BlogController Code: 1 2 3 4 5 6 7 8 9 10 11 1

.net mvc 利用 kindeditor 上传本地图片

最近在用kindeditor 编辑器,在上传本地图片的时候遇到了点问题,不能正确的上传. 现在把使用 kindeditor 上传本地图片的配置记录一下. 1.下载kindeditor.http://kindeditor.net/down.php 2.解压,将所有文件复制到项目里.我是放在content里面. (您可以根据需求删除以下目录后上传到服务器,asp - ASP程序,asp.net - ASP.NET程序,php - PHP程序,jsp - JSP程序,examples - 演示文件)

关于KindEditor组件上传本地图片报服务器异常的错误

今天突然间接到一个异常信息的问题,说系统的在线文本编辑器里上传本地图片报服务器异常的错误信息,开始我用firebug调试,发现前台不报错,然后我去服务器日志里找,也没看到相关信息.看网上写的说有可能是路径或者有可能是权限问题,我看权限已经设置,路径看后干脆直接改成: $save_path = '../../xxx';//相对upload_json.php的位置来说 $save_url = ' 但是我发现上传的时候还是报错,最后刷新缓存.好了. 注:我用的是php版.

是用博客园发表博客是如何上传本地图片

之前写了一篇带有图片的文章,我是直接从Word文档copy过来的,结果发现图片没有,找了很多资料,都说的很麻烦,最后还是自己找到了一简单方法, 这样,你的图片就可以上传了! 是用博客园发表博客是如何上传本地图片

安卓上传本地图片闪退

1.现象 当我们在app上上传一些安卓的本地图片时,有时当上传某些图片时会莫名其妙的闪退,而检查时发现并没有oom异常.同样上传一些类似的图片却可以正常使用. 1.1 开启选择本地图片 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); startActivityForRes

asp.net 模拟CURL调用微信公共平台API 上传下载多媒体文

近公司项目上在开发微信服务号的接口,需要给用户回复图片或语音或视频,这个时候就需要用到 上传下载多媒体文件接口,微信在这方面推荐采用的是开源函数库curl实现的,CURL项目包括很多版本,我主要测试的是windows 平台下的版本,是很好用的,下面附上说明及CURL下载地址在asp.net中,可以调用cmd命令行,运行这个脚本,实现上传下载的功能,但我需要讲的重点不在此,做为一个在线运行的项目,允许网站目录下可以运行.exe的程序是非常不安全的,所以接下来的DEMO是采用asp.net(c#)的

​Typecho支持上传本地图片的编辑器插件

搭建Typecho博客平台参考我之前的文章:http://msiyuetian.blog.51cto.com/8637744/1920161 Typecho自带的文章编辑器太简洁了,很多功能都缺少,比如本地上传图片等功能.本文主要介绍一款插件:XhEditor1.0.2,支持本地上传图片,也可以直接拖放图片到编辑器中. 1.下载插件,解压得到一个文件夹,并将整个文件夹上传至usr/plugins/目录下 2.登陆自己的Typecho博客后台,在"控制台"的下拉菜单中选择"插件

xheditor1.1.14在asp.net网站开发中作为可上传本地图片的在线编辑器

xheditor是一个基于jQuery开发的跨平台轻量可视化XHTML编辑器,功能强大,使用方便,CSDN网站的发表文章网页就使用了该编辑器,下面介绍在vs2013的环境下开发网页时使用该编辑器并实现本地图片上传的一种方法. 1.网上搜索并下载文件xheditor1.1.1文件包,解压后应该是一个包括jquery.xheditor_emo.t xheditor_plugins. xheditor_skin.demos等文件夹及xheditor-1.1.14-zh-cn.min.js等文件的一个文

html5上传本地图片,在线预览及裁剪(filereader,canvas)

1 我们常常需要上传头像,点击上传按钮时候需要预览一下,使用filereader方法无需和后台交互,代码如下: //本地图片在上传之前的预览效果 //图片上传预览 function previewImage(file) { if (file.files && file.files[0]) { var img = document.getElementById('imghead'); var reader = new FileReader(); //读取file完成之后加载 reader.o