对于一些需要在微信上进行业务处理的应用程序,往往需要上传一些图片至服务器,以便进行下一步的处理。本文将介绍。
步骤一:获取微信的access_token
需要获取微信的access_token,以便后续的接口调用。access_token是用于调用微信接口的唯一凭证,需要通过发送HTTP请求获取。
获取access_token的具体步骤如下:
– 根据微信公众号的appid和secret构造网址,如下所示:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
其中,APPID和APPSECRET分别是微信公众号的appid和secret。
– 发送HTTP请求,获取access_token:
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
– 获取到的access_token的有效期为2小时,需要定时刷新。
步骤二:获取上传图片的临时素材
在上传图片之前,需要将图片上传至微信服务器,获取临时素材的media_id,以便后续的接口调用。
获取临时素材的具体步骤如下:
– 根据微信公众号的access_token和上传图片的路径构造网址,如下所示:
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
其中,ACCESS_TOKEN是前面获取到的access_token,TYPE为图片类型,可选值为image、voice、video、thumb,本文所需的TYPE为image。
– 发送HTTP POST请求,上传图片至微信服务器:
POST https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=image
参数:
– access_token:前面获取到的access_token
– type:图片类型
– media:文件类型,文件域的name必须是media,且必须是一个有名的文件类型,如jpeg等
– 通过接口调用返回的media_id,即可获取上传的图片。
步骤三:将图片上传至服务器
获取到上传图片的临时素材之后,可以将其上传至服务器,以便进行下一步的业务处理。
将图片上传至服务器的具体步骤如下:
– 根据服务器的地址和上传图片的路径构造上传网址,如下所示:
http://server/upload?filename=FILENAME
其中,server为服务器的地址,FILENAME为上传图片的文件名。
– 发送HTTP POST请求,将图片上传至服务器:
POST http://server/upload?filename=FILENAME
参数:
– filename:上传图片的文件名
– file:上传文件的二进制数据
– 上传成功后,服务器会返回一个上传成功的消息。
综上所述,的具体步骤为:首先通过发送HTTP请求获取微信的access_token,然后将上传图片上传至微信服务器,获取临时素材的media_id,最后将其上传至服务器。在具体实现过程中,需要熟练掌握HTTP协议和C语言编程技术,才能做到更快、更好地上传图片。
相关问题拓展阅读:
- c# 本地图片 上传到另一个服务器
c# 本地图片 上传到另一个服务器
把图片给序列化,保存到服务器不就行了
你在B服务器写个WebServise,上传到A服务器的同时上传到B服务器啊,或者直接上传到B服务器
在网上查查上传图片的代码。介绍jmail的上传附件的就有 下面的是按钮点击方法
html:
********************************************************************************************************************************************************************************************************************
.cs文件
按钮点击
if (fufujian.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath(“~/upload/”);
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
//需要注意的是,需要对这个物理路径有足够的权限,否则会报错
//另外,这个路径应该是在网站之下,而将网站部署在C盘却把上传文件保存在D盘
System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + “\\” + fufujian.FileName;
fufujian.SaveAs(savePath);//保存文件
//不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是在服务器上的物理地址
// Response.Write(savePath);
// Response.End();
//Response.Write(string.Format(“upload/{0}”, fufujian.FileName));
//Response.End();
你问题都没问明白,反正我是没全理解
如果你B上能部署应用的话,你放个webservice,文件传到A上后,调B的service由B的service存到B中就可以了。
如果你B和A能共享,那就更简单了,直接存就好了
如果你B开了FTP,那也简单,传到A后FTP到B上就可以了
如果你B能放应用程序的话,做个服务放上面,开个端口,等着A把文件送给服务就可以了
如果…..
可能性太多,没法回
具体的错误提示呢?
很明显,路径错误了
//把缩略图保存到指定的虚拟路径
newimage.Save(serverpath);
检查检查写入的图片路径是不是正确
具体的错误信息呢?
先给你整个网站用户权限设定为everyone可读可写看看
大家还是没明白我的意思,
我的意思是说,在A域名的后台操作上传图片,这些图片保存到另一个服务器B域名。。
要注意是两个不同的服务器?大家明白不?
关于c 微信 上传图片到服务器上的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。