当前位置: 首页 > 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});}}});},

以上即可实现文件流下载

相关文章:

  • 【菜狗work前端】小程序加if判断时不及时刷新 vs Web
  • 微气象在线监测装置:精准感知环境变化的科技之眼
  • 微信小程序用<web-view 嵌入h5网页,改了h5网页后,可能是缓存的原因,小程序上看还是原来的,怎么处理
  • AI浪潮下,媒体内容运营的五重变奏
  • IP 地址反向解析(IP反查域名)的原理详解
  • 力扣HOT100之图论:200. 岛屿数量
  • 解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法
  • 九州未来十三载:开源赋能 智启未来
  • [C语言实战]如何封装 JNI 实现 Java 与 C 的高效交互?原理详解 + 代码实战(附完整测试步骤)
  • Tailwind css实战,基于Kooboo构建AI对话框页面(一)
  • uniapp图片下载(微信H5可用、小程序应该也通用)
  • 【uniapp】 iosApp开发xcode原生配置项(iOS平台Capabilities配置)
  • uniapp编译小程序,不支持:class语法
  • Linux--初识文件系统fd
  • uniapp实现得到本地系统目录文件,获取文件信息
  • SQL SERVER中实现类似LEAST函数的功能,返回多列数据中的最小值
  • OpenGL ES 基本基本使用、绘制基本2D图形
  • 电脑 IP 地址修改工具,轻松实现异地登陆
  • 线性回归中涉及的数学基础
  • unity控制相机围绕物体旋转移动
  • 网站续费自己做/seo排名快速优化
  • 六十岁一级a做爰片免费网站/百度seo怎么做网站内容优化
  • 宁波公司网站建立/北京seo优化哪家公司好
  • 电影网站推广/电商sem是什么意思
  • 免费影视网站建设/百度推广官网入口
  • 云存储做网站/软文广告投放平台