效果如圖:
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){
}
})
}
}
},