流程:
1. 首先第一次要获取用户授权,授权使用相册权限
调用this.onStartDownload()函数获取用户授权
2.拿到视频地址就可以实现下载功能了
3.主要的api:
wx.downloadFile()
wx.getFileSystemManager()
wx.saveVideoToPhotosAlbum()
视频链接为 http://xxxxxx.mp4 形式文章来源:https://www.toymoban.com/news/detail-515480.html
通过https下载文章来源地址https://www.toymoban.com/news/detail-515480.html
wx.downloadFile({
url: this.data.videoUrl, // 视频资源地址
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
header: {
"Content-Type":"video/mp4"
},
success: res => {
console.log('downloadFile成功回调res:', res)
wx.hideLoading()
let FilePath= res.filePath; // 下载到本地获取临时路径
let fileManager = wx.getFileSystemManager();
// 保存到相册
wx.saveVideoToPhotosAlbum({ // 保存到相册
filePath: FilePath,
success: file => {
// console.log('saveVideoToPhotosAlbum成功回调file:', file)
wx.showToast({
title: '视频保存成功',
duration: 3000,
icon: 'none'
})
fileManager.unlink({ // 删除临时文件
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
})
},
fail: err => {
// console.log('saveVideoToPhotosAlbum失败回调err:', err)
fileManager.unlink({ // 删除临时文件
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4'
})
wx.showToast({
title: '视频保存失败',
duration: 3000,
icon: 'none'
})
},
complete() {
wx.hideLoading()
}
})
//
},
fail(e) {
console.log('失败e', e)
wx.showToast({
title: '视频保存失败1',
duration:3000,
icon:'none'
})
},
complete() {
// wx.hideLoading();
}
})
//获取用户授权相册权限
onStartDownload() {
wx.getSetting({
success: (res) => {
if (res.authSetting['scope.writePhotosAlbum'] === undefined) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success: () => {
console.log('打开了授权')
this.downloadVideo()
},
fail: (err) => {
console.log('授权失败:', err)
}
})
} else if (!res.authSetting['scope.writePhotosAlbum']) {
wx.openSetting({
success: (res) => {
console.log('openSetting成功回调:res', res)
if (res.authSetting['scope.writePhotosAlbum']) {
console.log('授权了')
this.downloadVideo()
} else {
}
},
fail: (err) => {
},
})
} else {
this.downloadVideo()
}
}
})
},
到了这里,关于微信小程序 一键保存视频到手机相册功能(视频来源为链接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!