JSSDK调用微信原生的功能上传图片保存到自己的服务器中

本文详细解析了微信朋友圈图片上传的实现过程,包括调用微信选择图片功能、上传图片至微信服务器,以及C#后台处理代码,实现了图片从本地到微信服务器再到自定义服务器的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一件事首先是微信的选择图片功能,就是微信发朋友圈选择图片的时候那个界面

//调用微信拍照功能
                                    wx.chooseImage({
                                        count: 1, // 默认9
                                        sizeType: ['original', 'compressed'], //原图-压缩图
                                        sourceType: ['album', 'camera'], //指定来源是相册还是相机
                                        success: function (res) {
                                            let localIds = res.localIds;
                                            syncUpload(localIds);
                                        }
                                    });

其中syncUpload函数功能为上传图片到微信服务器中

var syncUpload = function (localIds) {
                var localId = localIds.pop();
                //上传图片
                wx.uploadImage({
                    localId: localId,
                    isShowProgressTips: 1,
                    success: function (res) {
                        // 返回图片的服务器端ID
                        var serverId = res.serverId; 
                        $.ajax({
                            url: "",
                            data: { media_id: serverId },
                            success: function (data) {
                                alert("你的图片路径地址是:" + data);
                            }, erro: function (erro) { alert(erro); }
                        })
                    }
                });
            };

中间空着的url地址则是自己的后台处理这个事件的地址

我使用的是C# ,处理代码如下

 if (Request["media_id"]!=null)
    {
      string media_id = Request["media_id"].ToString();
      string url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token="+ wxHelper2.access_token+ "&media_id="+ media_id;     
      var result = new WebClient();
      result.DownloadFile(url, Server.MapPath("/upload/WxImg_" + media_id+".jpg"));
      string savePath = Server.MapPath("/upload/WxImg_" + media_id + ".jpg");
      Response.Write(savePath);
      Response.End();
    }

这样就可以保存了

转载于:https://www.cnblogs.com/ncellit/p/10177938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值