这里的白名单指的是微信自带的白名单https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html zip文件不在文档描述的白名单里面,所以没办法按你那么操作,最好的办法还是把你的zip文件丢到服务器里面然后调用downloadFile将文件下载到本地,然后进行读取
微信开发者工具有关文件的api————copyFile?这边是把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); } }); 警告和报错如下: [图片] [图片]
02-13在PC真机测试中,unlink应该只能删除usr目录下的文件,也就是wx.env.USER_DATA_PATH(wxfile://usr/) removeSavedFile可以删除usr、temp和store目录下的文件(wxfile://usr/ , wxfile://store/ , wxfile://temp/)。
removeSavedFile和unlink有什么区别?FileSystemManager.removeSavedFile(Object object)删除该小程序下已保存的本地缓存文件 FileSystemManager.unlink(Object object)删除文件
01-07