小程序 读取文件

小程序中读取远程文件内容的实现
本文介绍了如何在微信小程序中处理因文件过大无法直接读取的问题。通过将文件上传至服务器,然后利用wx.downloadFile接口下载到临时文件,再使用fs.readFile或fs.readFileSync读取文件内容。此外,还提到了优化方案,如减小文件大小或转换为小程序可直接读取的文件类型。

序:由于小程序的本地代码包是有限制的,程序包过大,不可以直接读取该类型的程序包文件的内容,所以把文件放到服务器上,使用下载获取文件到小程序,得到临时文件地址,并读取文件的内容

小程序读取文件的内容

getFileData(){
  let that = this;
  const fs = wx.getFileSystemManager()
  let url = app.globalData.domain; // 请求域名路径
  // 把服务器响应的文件下载到临时文件,根据需要读取文件的内容
  wx.downloadFile({
    url: url +'/api/otaNewFile', // 下载ota.hex文件
    success (res) {
      if (res.statusCode === 200) {
        // 方法1 :读取文件信息
        fs.readFile({
          filePath: res.tempFilePath, // 获取的临时或本地文件路径
          encoding: 'hex',
          success(resd) {
            that.setData({
              otaData: resd.data
            })
            console.log("读取文件信息:",resd)
          },
        })
        // 方法2 :读取文件信息
        // let arrBuffer = fs.readFileSync(res.tempFilePath,'hex')
        // console.log("读取文件信息:",arrBuffer)
      }
    }
  })
},

无服务器要求的方法

1、程序包文件不宜过大,最好 500K 以下;

2、转成小程序可读类型的文件,比如 .json,.js 等文件格式的,可直接获取文件内容的数据;

let fileData = require("../data.js");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸曦穆泽

您的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值