uni-app 下载文件 预览 + 保存自定义目录

 

 

作为使用uni-app的小白来说  尝试了好几种方法 终于得到了我想要的效果(如下)

 

1.点击下载按钮(文件 或者图片)

 

 

 2.预览 :用户自定义选择查看的软件(图片在手机相册 文件用其他打开预览)

 

3.自定义存储的项目文件 :(这里面就是下载的所有文件)

本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,就是用户文件管理器能看到的了,之后我创建 xxx培训文件 作为文件夹,后缀是用于文件命名和格式修改,大家可以使用变量

 

官方文档下载文件永久保存uni.downloadFile和uni.saveFile,文件存放的位置开始时临时的,转成永久的后

 

它默认保存的位置在
“内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save”里

 

so 我们自定义目录最方便 代码如下:

Download() {
         
    /* #ifdef H5 */
    uni.showToast({
    icon: 'none',
    title: "仅支持app下载"
    })
   /* #endif */

  

var url = "http://xxxxx"
    let dtask = plus.downloader.createDownload(url, {
    //本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,就是用户文件管理器能看到的了,之后我创建微垠作为文件夹,后缀是用于文件命名和格式修改,大家可以使用变量。
    filename: "file://storage/emulated/0/微垠/" + "微垠影视v1.2.apk" //利用保存路径,实现下载文件的重命名
                }, 
                
                function(d, status) {
                    //d为下载的文件对象
                    if (status == 200) {
                
                        //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
                        let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
                        plus.runtime.openFile(d.filename); //选择软件打开文件
                    } else {
                        //下载失败
                        plus.downloader.clear(); //清除下载任务
                    }
                })
                dtask.start();
            }

 

 

 补充:

uni-app 多端兼容 判断条件如下:

app:
/* #ifdef APP-PLUS */ 
(放代码块)
/* #endif */


h5:
/* #ifdef H5 */
(放代码块)
/* #endif */

 

 

作者:微微一笑绝绝子
出处:https://www.cnblogs.com/wwyxjjz/p/16548124.html
本博客文章均为作者原创,转载请注明作者和原文链接。

 

posted @ 2022-08-03 18:11  微微一笑绝绝子  阅读(3180)  评论(0编辑  收藏  举报