当前位置: 首页 > news >正文

uni-app/vue2:微信小程序实现文件流的下载及预览

有时候后端会返回文件流,而不是完整的文件地址。
在这里插入图片描述

实现文件流的下载预览方式如下:

// 接口地址
const downloadUrl = base_url + "/service/proBasicService/downloadBillFile"const token = uni.getStorageSync('token');// 参数const obj = {}uni.request({url: downloadUrl, //接口method: 'post',data: obj,responseType: 'arraybuffer',header: {//请求头'X-Access-Token': token},success: res => {console.log('wend', res);if (res.statusCode === 200) {uni.showLoading({title: '下载中...',mask: true})//全局唯一的文件管理器const fs = uni.getFileSystemManager();// 文件名const name = Date.now() + nameconst filePath =`${wx.env.USER_DATA_PATH}/${name}.xlsx`fs.writeFile({//这里填文件的名字filePath: filePath,data: res.data,encoding: "binary",success: (res1) => {console.log('写入文档成功', res1);uni.hideLoading()uni.showToast({title: '文档下载成功',icon: 'none'})uni.openDocument({showMenu: true,filePath: filePath,success: function(res2) {console.log('打开文档成功');},fail: err => {console.log('fail 1', err);}});},fail: err => {uni.hideLoading()uni.showToast({title: '文档下载失败',icon: 'none'})console.log('fail', err);}})}},fail: err => {uni.hideLoading()uni.showToast({title: '文档下载失败',icon: 'none'})}})

有时会出现本地存储文件超过10M的问题,可以尝试清除缓存,如下:

onLoad() {uni.getSavedFileList({success: function(res) {if (res.fileList.length > 0) {// 删除本地存储的文件uni.removeSavedFile({filePath: res.fileList[0].filePath});}}});},

以上即可实现文件流下载

http://www.xdnf.cn/news/602839.html

相关文章:

  • Claude MCP协议从入门到精通
  • 【Hexo】2.常用的几个命令
  • MySQL别名规则与应用场景
  • Facebook + AdsPower!用一台设备实现 Facebook 多账号管理
  • Jenkins 构建日志统一上报:企业级 DevOps 管理实践
  • 科学养生:解锁现代健康生活新方式
  • 现代生活下的创新健康养生之道
  • 《计算机组成原理》——第二章-6 总线定时:同步定时(同步通信)
  • Pysnmp使用指南
  • CentOS停止维护了,解决yum不能安装软件的问题
  • 网络通信与传输安全
  • echarts定制化柱状图——条纹柱状图
  • RK3588 Opencv-ffmpeg-rkmpp-rkrga编译与测试
  • 【JAVA】注解基础:元注解与自定义注解(30)
  • 【飞书知识问答】AI赋能企业,开启高效办公新模式
  • Google机器学习实践指南(学习速率篇)
  • (随记)商业落地实施RAG工程的核心步骤
  • 项目管理的流程与核心细节全解析
  • 如何使用 WebStorm 编写第一个 Node.js 项目
  • 《P3375 【模板】KMP》
  • 9大开源AI智能体概况
  • Python爬虫(34)Python爬虫高阶:动态页面处理与Playwright增强控制深度解析
  • c语言文件操作详解
  • 实验-设计一个应用系统(计算机组成原理)
  • Web攻防-SQL注入数据库类型用户权限架构分层符号干扰利用过程发现思路
  • Docker 与 Kubernetes 部署 RabbitMQ 集群(一)
  • 数据共享中的库表交换怎么做?
  • 【生成模型】【基础知识】CFG与CFG蒸馏
  • 深度解析:SQLynx 如何筑牢数据库安全防线​
  • 邻近标记技术(PL)在癌症研究中的应用