javascript - 组成数组不成功,请大神指点
伊谢尔伦
伊谢尔伦 2017-04-10 15:36:57
[JavaScript讨论组]
                var data = {};
                var photos = new Array();
                var photosList = $api.domAll(".uploadPhotos");//选择所有图片 
                for (var ii = 0; ii < photosList.length; ii++) {
                    per = $api.attr(photosList[ii], 'src');
                    trans = api.require('trans');//转成base64的调用函数
                    trans.decodeImgToBase64({
                        imgPath : per//图片路径
                    }, function(ret, err) {
                        if (ret.status) {
                            var dataUrl = 'data:image/png;base64,' + ret.base64Str;
                            photos[ii] = dataUrl;
                            alert(photo[ii]);//有多少张图片就弹出几次base64数据
                            return photos[ii];
                        } else {
                            api.alert({
                                msg : err.msg
                            });
                        }
                        return photos[ii];
                    });

                }
                data['photos'] = photos;alert(photos);
                alert(photos.length);//弹出 0

说明组不成数组,请问大神要怎样才能组入数组呢?return这东西不会用,不知是不是return放错了。请大神指点。。

伊谢尔伦
伊谢尔伦

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

全部回复(2)
ringa_lee
    photo = ['http://a6a9bb2b2535f09d119f.b0.upaiyun.com/apicloud/c4de4fc78f0ce0ffaa2a9dd23b93884d.jpg','http://a6a9bb2b2535f09d119f.b0.upaiyun.com/apicloud/14ce2856073a87905a498355c2b4cbff.jpg'];

        var imgsArr=[];
        for (var i in photo) {
            var img = new Image();
            img.src = photo[i];//图片路径
            img.onload = function () {
                var that = this;
                //生成比例 
                var w = that.width,
                    h = that.height,
                    scale = w / h;
                    w = 640 || w;
                    h = w / scale;
                //生成canvas
                var canvas = document.createElement('canvas');
                var ctx = canvas.getContext('2d');
                canvas.setAttribute('width',''+w+'');
                canvas.setAttribute('height',''+h+'');
                ctx.drawImage(that, 0, 0, w, h);
                var base64 = canvas.toDataURL('image/jpeg', 1 || 0.6 ); 
                console.log(JSON.stringify(base64));        
                imgsArr.push(base64);
            }

        }
    console.log(JSON.stringify(imgsArr));

这样也组不成功,请高手指点

ringa_lee

估计 decodeImgToBase64() 是异步的吧?

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

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