cordova Vue 保存视频/图片到相册 - 实现下载视频/图片到相册

cordova实现保存视频到相册功能
亲测可用*(支持安卓,ios; 目前看来ios14都是可以的;没有兼容问题;) *

需要使用到插件

1、文件系统插件 https://github.com/apache/cordova-plugin-file-transfer
2、 [email protected]
3、cordova-plugin-photo-library(有问题可以去GitHub查看 issues https://github.com/terikon/cordova-plugin-photo-library)

注意事项:

1)三个插件都需安装,可依次安装;
2)安装插件 cordova plugin add xxx (最好名称安装,名称安装不成功在尝试url, 例如 cordova plugin add https://github.com/nilebma/cordova-plugin-photo-library.git;如果再不行 可查看问题 尝试–force强制安装)
3)安装之后可以查看是否安装成功 cordova plugins list

完整代码

/*
* url: 视频源地址
* album: 视频名称
* success:成功回调
* error: 失败回调
* library: 请求相册权限失败回调
*/
function saveVideoToPhotoLibrary(url, album, success, error, library) {
    
    
    let fileURL = cordova.file.dataDirectory + album + '.mp4'; // 可改为指定路径
    let fileTransfer = new FileTransfer();
    let uri = encodeURI(url);
        fileTransfer.download(uri,fileURL, (entry) => {
    
    
            cordova.plugins.photoLibrary.requestAuthorization(() => {
    
    
                    // User gave us permission to his library, retry reading it!
                    cordova.plugins.photoLibrary.saveVideo(entry.toURL(), album, success, error);
                }, library, {
    
    
                    read: true,
                    write: true
                });
        }, error);
}

总结 :
下载图片只需要 cordova.plugins.photoLibrary.saveImage 即可,但是下载视频需要先保存文件到本地,才能保存到相册
所以需要先fileTransfer.download到本地,然后才能保存到相册cordova.plugins.photoLibrary.saveVideo;
并且 iOS 保存视频对格式有要求,提供的视频不能是.webm。使用.mov或.mp4。

注意事项:

在测试时,xcode可能会遇到这个报错 SWIFT_VERSION ‘3.0’ is unsupported, supported versions are: 4.0, 4.2, 5.0.
解决方法:
1.Xcode升级到最新版(在App Store中更新)
2.在Xcode的黄色警告栏(若有)点击-BulidSetting-搜swift-Swift Language Version 改为支持
3.把项目中的一些SwiftLanguage Version 修改

现在可能部分安卓下载到相册,视频名称可能会改变。如果严格的话可能会需要你自己在钻研一下,加油!

提示:遇到问题,你可以留言我或者去GitHub查看issues;

参考文章:(你也可以去看看哦)
1、https://zhuanlan.zhihu.com/p/64729747
2、https://github.com/terikon/cordova-plugin-photo-library
3、https://www.jianshu.com/p/3fffcc4d033c?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

猜你喜欢

转载自blog.csdn.net/qq_43148113/article/details/110955041