需求背景

有一些文件比如 pdf,用户需要下载之后进行打印,或者分享给其他好友

uni-app用到的api

  • uni.downloadFile https://uniapp.dcloud.io/api/request/network-file?id=downloadfile
  • uni.saveFile https://uniapp.dcloud.io/api/file/file?id=savefile
  • uni.openDocument https://uniapp.dcloud.io/api/file/file?id=opendocument

其实把文件保存到本地的意义不是很大,因为手机跟pc端不一样,用户可以选择磁盘,选择文件去保存,手机上保存用户很难去找到这个文件,尤其 ios ,所以要实现类似需求,我们只能换一个方式去实现,我们可以从后台拿到文件,然后用户去分享给好友,然后再从pc端去下载,或者微信里面用其他软件打开之类的。

uni.downloadFile({url: `${fileDownload}?access_token=${token}&fileId=${res.data.file_id}`, // 文件下载地址success: response => {if (response.statusCode === 200) {uni.saveFile({tempFilePath: response.tempFilePath,success: (resData) => {uni.openDocument({filePath: resData.savedFilePath,fileType: 'pdf', // 指定文件的格式showMenu: true, // 允许出现分享功能success: r => {console.log(r)},fail: openError => {console.log('打开失败: ', openError)}})},fail: error => {console.log('error: ', error)}})}}
})



uni-app 小程序文件下载并分享相关推荐

  1. uni.app小程序的ajax封装详细讲解

    我懒得说了 //放url相同的片段 const rootUrl = ""// 示例: ajax({ url:'/api/login', param: param, method: ...

  2. uni.app小程序登录页持久化存储和退出后清除本地缓存

    持久化存储 在store里面的user.js(自己创建的)中 export default {state: {status: false, //登录的状态,获取数据中status是1,登录成功时状态为 ...

  3. uni.app小程序失焦聚焦,表单验证

    <input type="text" placeholder="请输入手机号/邮箱/账号" v-model="username" @f ...

  4. uni.app小程序实现跳转获取数据

    式例如上图所示 (前提是点击索引获得的id与获得数据的id是一样的) 首先是获取文档的数据 我用的async await来获取数据,也可以用.then方法获取数据 async onLoad() {le ...

  5. uniapp中的分享功能实现(APP,小程序,公众号)

    uniapp中的分享功能实现(APP,小程序,公众号) 1.APP端的分享 app端的分享可以直接使用uniapp封装的方法uni.share,uni-app的App引擎已经封装了微信.QQ.微博的分 ...

  6. uni开发微信小程序解决全局分享分销问题

    uni开发微信小程序解决全局分享分销问题 1. 需求 1.小程序内每个页面都要打开胶囊分享按钮并实现分销 2.分享功能应该是在用户登录之后才予以打开 3.不想做在每个页面都写分享钩子的傻逼操作 2.实 ...

  7. uniapp使用uni.createInnerAudioContext()实现在app 小程序 h5有声书的倍速功能

    uni.createInnerAudioContext()实现在app 小程序 h5有声书的倍速功能 官网提供的api进行的开发,自我感觉没啥问题,但是在不同的端上好像有的好使有的不好使,暂时不知道啥 ...

  8. 微信小程序将支持分享到朋友圈;美团入局社区团购;Kotlin 1.4-M3 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  9. 微信小程序闭环处理 App -- 小程序 -- 企业微信 + 公众号

    App -- 小程序之间的交互 1)App 跳小程序指定页面 微信官方文档:接入指南 // 以下为H5部分的代码,客户端也需要根据文档做相应的改动 let bridge = window.WebVie ...

最新文章

  1. iptables命令(备忘)
  2. python3输入框_Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出到控制台...
  3. MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏
  4. python学习——matplotlib库——散点图
  5. 什么是 MySQL 索引?
  6. ResNet再进化!重新思考ResNet:采用高阶方案的改进堆叠策略
  7. 电工知识:3种方法测电容的好坏,万用表三个档位的巧妙应用
  8. 再次携号转网_再次确认,全国携号转网时间定了 不用等到2020,就在今年!
  9. Geospark电火花使用再记录
  10. 面试结束时应该向面试官提出什么问题
  11. OpenGL超级宝典(第7版)之第十二章管线监控
  12. 元宇宙,现实与虚拟交互的新一代互联网?
  13. 微信直播平台解决方案已准备好,请查收!
  14. 做淘宝怎样去免费推广自己的淘宝店铺
  15. Android懒人库
  16. socket的长连接、短连接、半包、粘包与分包
  17. 重庆市流动人口的数量特征分析
  18. C语言-海选高大中锋-PTA
  19. 如何用Photoshop去掉图片的背景颜色
  20. aws lambda使用_使用python了解AWS Lambda中的多处理

热门文章

  1. 活动报名 | 北京交通大学魏云超:连续学习下像素理解的相关算法介绍
  2. Linux中Hadoop的Hbase安装教程
  3. mysql中text对应java什么类型_MySQL 常用字段类型与对应的Java类型
  4. python学习有哪些方向可以选择_学习python就业方向都有哪些?
  5. QString转换成LPCWSTR
  6. PostgreSQL 与 MySQL:有什么区别?
  7. Oracle 存储过程 中如何使用事务Transaction 自主事务 自治事务
  8. 前端快速搭建本地服务器的几种方法
  9. vue技术点(3)—vuex、插槽、自定义指令、vue动画、keep-alive使用、mixin
  10. Ubuntu 8.10 安装后的详细设置