效果如图:
wxml代码:
<view class=\'erweima\'>
<view class=\'img_erweima\'>
<image src=\'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg\' bindtouchstart=\'timestart\' bindtouchend=\'timeend\' bindtap=\'saveImg\'></image>
</view>
<view class=\'text\'>
<view>长按保存</view>
</view>
</view>
js代码:
//点击开始时的时间
timestart: function (e) {
var _this = this;
_this.setData({ timestart: e.timeStamp });
},
//点击结束的时间
timeend: function (e) {
var _this = this;
_this.setData({ timeend: e.timeStamp });
},
//保存图片
saveImg: function (e) {
var _this = this;
var times = _this.data.timeend - _this.data.timestart;
if (times > 300) {
console.log("长按");
wx.getSetting({
success: function (res) {
wx.authorize({
scope: \'scope.writePhotosAlbum\',
success: function (res) {
console.log("授权成功");
var imgUrl = “http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg”;//图片地址
wx.downloadFile({//下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径
url: imgUrl,
success: function (res) {
console.log(res);
// 下载成功后再保存到本地
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,//返回的临时文件路径,下载后的文件会存储到一个临时文件
success: function(res){
}
})
}
})
}
})
}
})
}
},
另外,如果不是处于开发者,而是简单的练习,不用获取用户的当前设置,进行用户授权。直接--------
//保存图片
saveImg: function (e) {
var _this = this;
var times = _this.data.timeend - _this.data.timestart;
if (times > 300) {
console.log("长按");
var imgUrl = “http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg”;//图片地址
wx.downloadFile({//下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径
url: imgUrl,
success: function (res) {
console.log(res);
// 下载成功后再保存到本地
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,//返回的临时文件路径,下载后的文件会存储到一个临时文件
success: function(res){
}
})
}
}
},