收藏
回答

微信开发者调用writeFile,报错writeFile:fail illega

在微信开发者工具里的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里面写信息,但就是提示失败

最后一次编辑于  2018-11-01  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 卢霄霄
    卢霄霄
    2018-11-01

    mkdir 是创建文件夹,写文件的话,直接writeFile就行了,不需要创建

    2018-11-01
    赞同 1
    回复 8
    • 111
      111
      2018-11-01

      谢谢!修正了代码,直接writeFile,在微信开发者工具的模拟器上是好用的,写成功了。可是在手机上,写失败了。

      求助:为什么模拟器可以,手机上失败?


      2018-11-01
      回复
    • 卢霄霄
      卢霄霄
      2018-11-01回复111

      手机上报啥错呢

      2018-11-01
      回复
    • 111
      111
      2018-11-01回复卢霄霄

      代码中的逻辑先是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。

      2018-11-01
      回复
    • 卢霄霄
      卢霄霄
      2018-11-01回复111

      你换个名字试试呢。。这里你应该已经建了这个名字的目录了,要么你先把这个目录删了

      2018-11-01
      回复
    • 111
      111
      2018-11-01回复卢霄霄

      人才啊!果然好用了!

      还得麻烦你,再向你请教一个问题: 现在微信API getUserInfo在模拟器和手机调试的时候不显示授权对话框了。现在我的代码还没发布审核,如果成功上线后,这个API还会显示授权对话框吗?

      因为,代码中已经使用createUserInfoButton来显示授权了,但是有些地方多处使用getUserInfo获取用户信息,担心:上线后,是否代码中一调用getUserInfo,就弹出授权对话框。


      2018-11-01
      回复
    查看更多(3)
  • 111
    111
    2018-11-01

    谢谢!修正了代码,直接writeFile,在微信开发者工具的模拟器上是好用的,写成功了。可是在手机上,写失败了。

    求助:为什么模拟器可以,手机上失败?

    2018-11-01
    赞同
    回复