玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容

请教关于Python 微信嵌套图片问题

微信JS—SDK嵌套选择图片和上传图片接口,实现一键上传图片,遇到问题

我们的实现如下:

function up_onepic() {
    wx.chooseImage({
        success: function (res) {
            upavatar.localId = res.localIds;

            if(res.localIds.length == 1) {
                //alert('上传图片');
                wx.uploadImage({
                    localId: upavatar.localId[0],
                    isShowProgressTips: 1,
                    success: function (res) {
                        upavatar.serverId.push(res.serverId);
                        var sI = upavatar.serverId;

                    fail: function (res) {
                        alert(JSON.stringify(res));
                        }
                });
            }
         } 
     });
 }

出现的问题是:选择图片的接口执行完之后,并不执行wx.uploadImage;如果在wx.uploadImage前面加上 alert('上传图片'); 语句,操作时确定之后会执行wx.uploadImage。

请问如何改进代码,实现一键上传图片。

我也在用微信js处理图片 ,不过是选择了图片后不执行success函数,已经返回成功的信息的啦。郁闷好久,没解决,顶一下楼主,祝找到解决方法

话说楼主可以选择成功吗

我觉得你可以在wx.uploadImage事件后console.log(new Date().getTime())

看一看是不是wx.uploadImage事件没有执行就把时间打印出来了

然后就是,既然是微信开发,何不用html5的formData特性呢?很方便啊

刚找到问题所在: localIds 改为 localIds.toString() 就ok了

可以看下你的微信上传的demo吗

http://dailythinkdo.sinaapp.com/wx/php/sample.php可以看看我写的demo

怎么你闷写个app比我写混合的还复杂..

在选择图片后,采用setTimeout(function(){
wx.uploadImage()
},0)
可以解决android设备下的问题。
此处还有一个坑,在IOS设备下,必须一个传完之后在调接口传下一个。否则连续调uploadImage后,只会上传最后一张图片

setTimeout(function (){ wx.uploadImage({
localId: localIds, // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1,// 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID

                            }
                        })},100);

                        把调用uploadImage放在setTimeout中延迟100ms解决

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/wenda/wd18873.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年06月01日 - 17时12分50秒 发布自玩蛇网

我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules