使用微信一次上传几张图片

用微信上传图片,遇到个怪怪的问题。
要上传四张图片。在安卓手机的微信那里4张上传成功;在苹果手机那里只能上传成功最后一张。代码如下:

            // 上传的函数。根据id,上传相应的图片
            function uploadImage(id) {
                wx.uploadImage({
                    localId: images[id],
                    isShowProgressTips: 1,
                    success: function(res) {
                        idImages[id] = res.serverId;
                        alert('the picture: ' + id);
                        alert('the ' + Object.keys(idImages).length + ': ' + idImages[id]);
                        if (id == 'Head' && Object.keys(idImages).length >= 4) {
                            var data = {
                                'id_front': idImages['IdFront'],
                                'id_back': idImages['IdBack'],
                                'id_student': idImages['IdStudent'],
                                'head': idImages['Head']
                            };
                            $.post('{{ url_for('tutor.qualification') }}', data, function(data) {
                                if ('errcode' in data) {
                                    upload.text('失败。请稍后重试');
                                } else {
                                    alert('上传成功!我们将在24小时内进行审核。审核结果请进入“个人中心-消息”查看。');
                                    location.assign('{{ url_for('common.index_tutor') }}');
                                }
                            }, 'json');
                        }
                    }
                });
            }

通过

            uploadImage('IdFront');
            uploadImage('IdBack');
            uploadImage('IdStudent');
            uploadImage('Head');

进行上传。

而后,根据 alert 提示的信息,觉得在iOS上的微信不能这样上传好几张图片。
所以,就改成如下样子,一张上传完后到下一张:

uploadImages();

            function uploadImages() {
                wx.uploadImage({
                    localId: images['IdFront'],
                    isShowProgressTips: 1,
                    success: function(res) {
                        idImages['IdFront'] = res.serverId;
                        wx.uploadImage({
                            localId: images['IdBack'],
                            isShowProgressTips: 1,
                            success: function(res) {
                                idImages['IdBack'] = res.serverId;
                                wx.uploadImage({
                                    localId: images['IdStudent'],
                                    isShowProgressTips: 1,
                                    success: function(res) {
                                        idImages['IdStudent'] = res.serverId;
                                        wx.uploadImage({
                                            localId: images['Head'],
                                            isShowProgressTips: 1,
                                            success: function(res) {
                                                idImages['Head'] = res.serverId;
                                                if (Object.keys(idImages).length >= 4) {
                                                    var data = {
                                                        'id_front': idImages['IdFront'],
                                                        'id_back': idImages['IdBack'],
                                                        'id_student': idImages['IdStudent'],
                                                        'head': idImages['Head']
                                                    };
                                                    $.post('{{ url_for('tutor.qualification') }}', data, function (data) {
                                                        if ('errcode' in data) {
                                                            upload.text('失败。请稍后重试');
                                                        } else {
                                                            alert('上传成功!我们将在24小时内进行审核。审核结果请进入“个人中心-消息”查看。');
                                                            location.assign('{{ url_for('common.index_tutor') }}');
                                                        }
                                                    }, 'json');
                                                }
                                            }
                                        })
                                    }
                                })
                            }
                        })
                    }
                })
            }

只是实现了功能,没有写成递归的形式。
至此,问题已解决。

你可能感兴趣的:(微信,图片)