序:由于小程序的本地代码包是有限制的,程序包过大,不可以直接读取该类型的程序包文件的内容,所以把文件放到服务器上,使用下载获取文件到小程序,得到临时文件地址,并读取文件的内容
小程序读取文件的内容
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");
小程序中读取远程文件内容的实现
本文介绍了如何在微信小程序中处理因文件过大无法直接读取的问题。通过将文件上传至服务器,然后利用wx.downloadFile接口下载到临时文件,再使用fs.readFile或fs.readFileSync读取文件内容。此外,还提到了优化方案,如减小文件大小或转换为小程序可直接读取的文件类型。
1968

被折叠的 条评论
为什么被折叠?



