uniapp实现得到本地系统目录文件,获取文件信息
此前,在网上寻找了很多关于uniapp中得到本地系统目录文件的方式,最终只能选择H5+的方式,调用官方的plus.io,就可以读取到指定项目目录下的文件;因为其他方式,比如uni.chooseFile,以及const fs = uni.getFileSystemManager();
const filePath = ${uni.env.USER_DATA_PATH}/example.txt
;都不能得到有效的数据返回,fs显示对象是空的,uni.env.USER_DATA_PATH显示未定义,给予权限了也没用;
一:从Plus.io入手,才是适合android,ios获得本地系统目录文件
二.把文件放到项目的static下:如“static/RTXXX_ota-TEST-V19.zip”
三.代码实现:
<template><view><!-- Content here --><view v-if="fileInfo"><p>文件名称:{{ fileInfo.name }}</p><p>文件大小:{{ fileInfo.size }} 字节</p></view></view>
</template><script>export default {data() {return {fileInfo: null, // 存储文件信息}},onLoad() {//apps/HBuilder/const documentsPath = plus.io.convertLocalFileSystemURL('static/RTXXX_ota-TEST-V19.zip'); // HBuilder 提供的沙箱路径console.log("documentsPath:", documentsPath);plus.io.resolveLocalFileSystemURL(documentsPath, (entry) => {entry.file((file) => {console.log(file);this.fileInfo = {name: file.name,size: file.size};});});},methods: {}}
</script>
四,最后得到的file数据:
此时就可以了!