zoukankan      html  css  js  c++  java
  • 微信调用相机上传照片+拍照上传

    var images='';
     // 上传商品
         var jsApiSdk;
        var localIds;
        // 获取微信接口conf参数
        $.ajax({
            url:'/index.php?r=wxtest/wxshare',
            data:{url:window.location.href},
            dataType:'json',
            success:function(data){
                jsApiSdk = data;
                wx.config(jsApiSdk);
            }
        });
        function wxChooseImage(obj) {
            wx.chooseImage({
                count: 3, // 默认9
                sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
                success: function (res) {
                    localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
                    var html = '';
                    var serverIds = '';
                    $.each(localIds,function (i,v) {
                        html+='<li class="box_flex_ss"><img class="fileImg" src="'+v+'" /></li>'
                    });
                    obj.parents("#goodsImg").prepend(html);
                    var i = 0, length = localIds.length;
                    serverIds = [];
                    function upload() {
                        wx.uploadImage({
                            localId: localIds[i],
                            success: function(res) {
                                i++;
                                serverIds.push(res.serverId);
                                if (i < length) {
                                    upload();
                                }else {
                                    // 保存图片到本地
                                    $.ajax({
                                        url: '/index.php?r=img/wx_upload',
                                        data: {media_id: serverIds},
                                        dataType: 'json',
                                        success: function (data) {
                                            /*
                                            * {data:[o:"www.***.jpg",1:"www.***.jpg"]}
                                            * */
                                            $.each(data.path, function (i) {
                                               obj.parents(".picture").append('<input name="path[]" class="ycimgs" type="hidden" value="'+data.path[i]+'">');
                                            });
                                            $.each($(".ycimgs"),function(i,v){
                                                images+=$(v).val()+',';
                                            })
                                              
                                            images=images.substring(0,images.length-1);
                                        }
                                    })
                                }
                            },
                            fail: function(res) {
                                // alert(JSON.stringify(res));
                            }
                        });
                    }
                    upload();
                }
            });
        }
        wx.ready(function(){
            $('#uplogo,#upload').click(function () {
                wxChooseImage($(this));
            })
        })
        wx.error(function(res){
            // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        });
  • 相关阅读:
    set的使用
    dict的使用
    tuple的使用
    Python数据类型字符串
    spring与redis集成之aop整合方案
    MySQL 对于大表(千万级),要怎么优化呢?
    MYSQL千万级数据量的优化方法积累
    Java:按值传递还是按引用传递详细解说
    常用正则表达式
    Java中equals和==的区别
  • 原文地址:https://www.cnblogs.com/zxcc/p/7844304.html
Copyright © 2011-2022 走看看