跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存__doc uniapp_save(1)

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一、资源下载

APP应用开发过程中,资源下载是一种常见应用场景。uni-app中应用uni.downloadFile实现文件下载功能。示例代码如下:

downLoadFile() {
    const downloadTask = uni.downloadFile({
        url: 'http://img.netbian.com/file/2019/0414/7bee7eef5fc44417a0b02a46576e7e16.jpg', //仅为示例,并非真实的资源
            success: (res) => {
                if (res.statusCode === 200) {
                    console.log('下载成功');
                }
                this.dd = res.tempFilePath;
                console.log(this.dd);
        }
    });

    downloadTask.onProgressUpdate((res) => {
        console.log('下载进度' + res.progress);
        console.log('已经下载的数据长度' + res.totalBytesWritten);
        console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
    });
}

注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 uni.saveFile,才能在应用下次启动时访问得到。

二、资源保存

当应用uni.downloadFile回调成功后tempFilePath参数代表临时保存文件的路径,再使用uni.saveFile保存到本地即可,实例代码如下:

downLoadFile() {
    const downloadTask = uni.downloadFile({
        url: 'http://img.netbian.com/file/2019/0414/7bee7eef5fc44417a0b02a46576e7e16.jpg', //仅为示例,并非真实的资源
        success: (res) => {
            if (res.statusCode === 200) {
                console.log('下载成功');
            }
            let that = this;
            uni.saveFile({
                tempFilePath: res.tempFilePath,
                    success: function(red) {
                        that.luj = red.savedFilePath
                        console.log(red)
                    }
                });
            }
        });

        downloadTask.onProgressUpdate((res) => {
            console.log('下载进度' + res.progress);
            console.log('已经下载的数据长度' + res.totalBytesWritten);
            console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
    });
}

资源下载并保存的位置为:

“内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save”

三、资源打开

//文件保存到本地
uni.saveFile({
    tempFilePath: data.tempFilePath, //临时路径
    success: function(res) {
        uni.showToast({
            icon: 'none',
            mask: true,
            title: '文件已保存:' + res.savedFilePath, //保存路径
            duration: 3000,
        });
        setTimeout(() => {
            //打开文档查看
            uni.openDocument({
                filePath: res.savedFilePath,
                success: function(res) {
                    // console.log('打开文档成功');
                }


## 最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uni-app是一款基于Vue.js框架的跨平台开发框架,可以一次编写代码,同时在多个平台上运行,包括iOS、Android、H5、小程序等。以下是Uni-app的主要特点: 1. 跨平台Uni-app支持多个平台,包括iOS、Android、H5、小程序等,可以一次编写代码,同时在多个平台上运行,大大减少了开发和维护成本。 2. 开发效率高:Uni-app使用Vue.js框架,开发人员可以利用Vue.js的模板、组件化和数据绑定等特性,快速构建应用程序。此外,Uni-app还提供了一些内置组件和插件,可以快速实现常见的功能,如下拉刷新、无限滚动等。 3. 支持多端:Uni-app不仅支持多个平台,还可以在一个应用中同时运行多个平台的代码。这意味着开发人员可以在一个应用程序中,同时支持iOS、Android、H5、小程序等多个平台。 4. 性能优秀:Uni-app使用了基于Native的渲染引擎,在性能上表现出色。此外,Uni-app还提供了一些性能优化的功能,如懒加载、图片压缩等,可以进一步提升应用程序的性能。 5. 生态完善:Uni-app有一个完善的生态系统,包括丰富的插件和组件库,可以快速实现各种功能。同时,Uni-app还有一个活跃的社区,开发人员可以在社区中交流经验、分享知识。 综上所述,Uni-app是一款跨平台开发框架,具有开发效率高、支持多端、性能优秀、生态完善等特点,可以大大提高开发和维护效率,是一款非常优秀的开发框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值