javascript - 微信JS—SDK嵌套选择图片和上传图片接口,实现一键上传图片,遇到问题
伊谢尔伦
伊谢尔伦 2017-04-10 15:03:33
[JavaScript讨论组]

我们的实现如下:

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。

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(8)
PHP中文网

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

迷茫

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

高洛峰

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

PHPz

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

话说楼主可以选择成功吗

天蓬老师

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

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

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

PHP中文网

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

                            }
                        })},100);

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

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

阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号