这边是把a.zip文件丢在项目路径下,先复制一份到${wx.env.USER_DATA_PATH}这个路径里面,然后再去读${wx.env.USER_DATA_PATH}路径里的a.zip文件
但是执行之后 copyFile接口会警告————“文件或文件夹不在白名单中, 上传时会被忽略, 在真机上可能无法读取和复制文件”
并报错————“失败: {errMsg: "copyFile:fail permission denied, open ../../utils/a.zip"}”
我一开始认为是文件的问题 后面用了fs.access这个api发现走的是success这个逻辑,所以文件路径和权限应该是没为题的
也问了ai 把project.config.json中"ignoreUploadUnusedFiles"改成了false,但还是没有用,后来以为是zip的问题,但是换成js文件也是一样的报错,
求解答!!!!!!!
代码如下:
const fs = wx.getFileSystemManager();
const srcPath = "/utils/a.zip";
const destPath = `${wx.env.USER_DATA_PATH}/a.zip`;
fs.copyFile({
srcPath: srcPath,
destPath: destPath,
success: () => {
fs.readFile({
filePath: destPath,
encoding: 'utf8',
success: (res) => {
console.log('文件内容:', res.data);
},
fail: (err) => {
console.error('读取文件失败:', err);
}
});
},
fail: (err) => {
console.error('复制文件失败:', err);
}
});
警告和报错如下:
![](https://mmbiz.qpic.cn/mmbiz_png/IX5UHXCRXf5sHC6MLezQ15XXSUKHuNQeefzYACp8ngUYF0AbfC9gtvVIdrrEPlYOia5hKNiayoHa1WsIfyDGJLqA/0?wx_fmt=png)
![](https://mmbiz.qpic.cn/mmbiz_png/IX5UHXCRXf5sHC6MLezQ15XXSUKHuNQeKNA7hwGwr8Oiaeia2szKkXqcJ1l3auetpibb6f4W6dMd099X0TMSU9IOw/0?wx_fmt=png)
这里的白名单指的是微信自带的白名单https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html
zip文件不在文档描述的白名单里面,所以没办法按你那么操作,最好的办法还是把你的zip文件丢到服务器里面然后调用downloadFile将文件下载到本地,然后进行读取