请教关于Python 微信嵌套图片问题,,微信JS—S


微信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解决

编橙之家文章,

评论关闭