欢迎光临
Life Is Becoming Better

hbuilder使用mui长按保存图片,app中生效

必须要先引入mui.js。然后init mui。后面具体步骤参考代码吧。

<script type="text/javascript">
    mui.init({
        gestureConfig: {
            longtap: true
        }
    });



    mui.plusReady(function() {
        document.addEventListener('longtap', function(e) {
            var target = e.target;
            savePic(target);
        });
    });

    /**
     * 长按保存图片
     * 1. 获取图片链接
     * 2. 创建下载并下载图片
     * 3. 保存至相册
     */
    function savePic(target) {
        if(target.tagName == 'IMG' && target.currentSrc.length > 0 ) { //确保图片链接不为空
            var imgUrl = target.src;

            var suffix = cutImageSuffix(imgUrl);

            mui.confirm("是否保存此图片", "", ["保存", "取消"], function(event) {
                var index = event.index;
                if(index == 0) {
                    var timestamp = (new Date()).valueOf();
                    var downLoader = plus.downloader.createDownload(imgUrl, {
                        method: 'GET',
                        filename: '_downloads/image/' + timestamp+'.png'
                    }, function(download, status) {
                        var fileName = download.filename;
                        /**
                         * 保存至本地相册
                         */
                        plus.gallery.save(fileName, function() {
                            mui.toast("保存成功" );

                        });
                    });
                    /**
                     * 开始下载任务
                     */
                    downLoader.start();
                }
            });
        }
    }
    // 截取图片后缀用于重命名图片,防止%E5%85%89%E6%98%8E%E8%A1%8C编码的文件不被系统相册识别;
    function cutImageSuffix(imageUrl) {
        var index = imageUrl.lastIndexOf('.');
        return imageUrl.substring(index);
    }
</script>
未经允许不得转载:Donghy的博客 » hbuilder使用mui长按保存图片,app中生效

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    你好。怎么联系你呢。

    哈哈哈6年前 (2019-08-07)回复
    • 怎么了??qq83620023

      836200236年前 (2019-08-14)回复
  2. #2

    代码放在哪个位置

    阿门5年前 (2019-10-18)回复
    • 放在需要的位置哦

      836200235年前 (2020-02-14)回复