webapp h5保存图片

5 篇文章 0 订阅
3 篇文章 0 订阅

开发当中碰到一个问题 plus.gallery.save一直失败,后来发现是手机设置当中相册的访问权限问题

//html
<img src="">
<div id="picture" class="mui-popover mui-popover-action mui-popover-bottom" style="z-index: 99999999">
			<ul class="mui-table-view">
				<li class="mui-table-view-cell">
					<a href="javascript:;" id="saveImg">保存图片</a>
				</li>
			</ul>
			<ul>
			</ul>
			<ul class="mui-table-view">
				<li class="mui-table-view-cell">
					<a href="#picture"><b>取消</b></a>
				</li>
			</ul>
		</div>

//js
mui.init( { gestureConfig:{
            tap: true, //默认为true
            doubletap: true, //默认为false
            longtap: true, //默认为false
            swipe: true, //默认为true
            drag: true, //默认为true
            hold:true,//默认为false,不监听
            release:false//默认为false,不监听
        }})
//给需要长按保存图片的img标签设置 class='saveImg'
		mui.plusReady(function(){
		 var divs = document.getElementsByTagName('img');
		    for(var i = 0;i<divs.length;i++){
		      divs[i].addEventListener('longtap', function () {
		        //开启弹框
		          mui('#picture').popover('toggle');
		          var imgurl = this.src;
		          document.getElementById('saveImg').addEventListener('tap', function () {
		            save___img(imgurl)
		          });
		   
		      })
		    }
		
		});

function save___img(picurl) {		直接获取src 不管是否是base64   安卓需要图片地址 base64保存不了
		// 创建下载任务
			// picurl="http://photocdn.sohu.com/20120708/Img347586958.jpg";
		//图片保存到手机后的路径
		// picname="_downloads/"+randomString(16)+".png";
		plus.nativeUI.showWaiting('加载中...');
		var dtask = plus.downloader.createDownload(picurl, {}, function ( d, status ) {
		// 下载完成
		if ( status == 200 ) { 
		//	alert( "Download success: " + d.filename );
		plus.gallery.save(d.filename,function() {//保存到相册方法
		plus.nativeUI.closeWaiting();
		mui.toast('已保存到手机相册');
		}, function() {
		plus.nativeUI.closeWaiting();
		mui.toast('保存失败,请重试!');
		});
		} else {
		//	alert( "Download failed: " + status ); 

		mui.toast("下载失败");
		}
		});
		//dtask.addEventListener( "statechanged", onStateChanged, false );
		dtask.start();//开始下载
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值