在微信开发者工具里的platform.js文件里,
调用了微信API:writeFile,向用户文件中写入信息。
fs = wx.getFileSystemManager()
writeFileData(fileName, info) {
console.log("[platform]writeFileData")
let myPath = `${wx.env.USER_DATA_PATH}/` + fileName;
var self = this;
return new Promise((resolve, reject) => {
self.fs.writeFile({
filePath: myPath,
data: info,
encoding: 'utf8',
success: (res) => {
console.log(res);
resolve(true);
},
fail: (res) => {
console.log(res.errMsg);
reject(false);
},
complete: () => {
console.log("writeFileData complete")
}
});
})
}
但是一直在报错:
platform.js? [sm]:261 writeFile:fail illegal operation on a directory, open http://usr/Littleman.txt
求助:这是怎么回事?已经登陆成功了,也授权成功了,使用mkdir成功创建了文件,然后使用writeFile向文件Littleman.txt里面写信息,但就是提示失败
mkdir 是创建文件夹,写文件的话,直接writeFile就行了,不需要创建
谢谢!修正了代码,直接writeFile,在微信开发者工具的模拟器上是好用的,写成功了。可是在手机上,写失败了。
求助:为什么模拟器可以,手机上失败?
手机上报啥错呢
代码中的逻辑先是readFile,手机提示:readFile: fail permission denied, oped "wxfile://usr/littleman.txt",
代码中后面的逻辑是:readFile失败,就writeFile,手机提示:writeFile: fail illegal operation on a directory, open "wxfile://usr/littleman.txt"
但是模拟器上完全正确,没有error。 手机上就会有上面的error。
你换个名字试试呢。。这里你应该已经建了这个名字的目录了,要么你先把这个目录删了
人才啊!果然好用了!
还得麻烦你,再向你请教一个问题: 现在微信API getUserInfo在模拟器和手机调试的时候不显示授权对话框了。现在我的代码还没发布审核,如果成功上线后,这个API还会显示授权对话框吗?
因为,代码中已经使用createUserInfoButton来显示授权了,但是有些地方多处使用getUserInfo获取用户信息,担心:上线后,是否代码中一调用getUserInfo,就弹出授权对话框。
谢谢!修正了代码,直接writeFile,在微信开发者工具的模拟器上是好用的,写成功了。可是在手机上,写失败了。
求助:为什么模拟器可以,手机上失败?