收藏
回答

FileSystemManager.mkdir创建失败总是报没有写权限

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug FileSystemManager 客户端 6.6.6 2.0.9

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


-

mkdir_file:function(){
    let fsysm = wx.getFileSystemManager();
    fsysm.mkdir({
      dirPath: '${wx.env.USER_DATA_PATH}/bluejoy/b',
      recursive: false,
      success: res => {
       // this.toastedit.showToast(res.errMsg, 2000);
      },
      fail: res => {
       // this.toastedit.showToast(res.errMsg, 2000);
       // 这里报fail permission denied, open ${dirPath} 表示指定的 filePath 路径没有写权限
      },
      complete: res => {
 
      }
 
    });
 
  },


回答关注问题邀请回答
收藏

7 个回答

  • 2019-03-13

    我也碰到了这个问题 怎么建都不行

    2019-03-13
    有用 1
    回复
  • Z.O.E
    Z.O.E
    2023-02-14

    都2023了,启动就报这个错误,还在加载游戏的代码的时候

    Error: mkdirSync:fail permission denied, open http://usr/__GAME_FILE_CACHE

    2023-02-14
    有用
    回复
  • @Bill 你enjoqythes
    @Bill 你enjoqythes
    2022-08-31

    2022了,这问题居然还有。

    正确的应该这样:

    let path = wx.env.USER_DATA_PATH;
    let toPath = path + "/cache"
    wx.getFileSystemManager().mkdirSync(toPath,true)
    
    2022-08-31
    有用
    回复 1
    • Mihansy
      Mihansy
      2023-05-22
      2023了,wx.env.USER_DATA_PATH的值是undefined了
      2023-05-22
      回复
  • 大罗
    大罗
    2021-06-04

    dirPath:'${wx.env.USER_DATA_PATH}/bluejoy/b',

    修改成 dirPath:'/',

    看看是否可以读取成功,看看读取到的内容是什么,这样应该能知道问题出在哪儿

    2021-06-04
    有用
    回复
  • Lrenz+
    Lrenz+
    2021-02-25

    哈哈哈哈 虽然我这个评论太晚了,但是确实是你那个路径写错了,用es6的字符串拼接,你用的普通的引号

    2021-02-25
    有用
    回复
  • 黄乖巧
    黄乖巧
    2020-04-02

    同问

    2020-04-02
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-11-01

    开着递归呢

    recursive设成true

    2018-11-01
    有用
    回复 5
    • 竹林听风
      竹林听风
      2018-11-01

      改成 true也是同样的错误,FileSystemManager这个API是所有的小程序都能用还是只有小游戏才能用

      2018-11-01
      回复
    • 卢霄霄
      卢霄霄
      2018-11-01回复竹林听风

      小程序可以用呀

      2018-11-01
      回复
    • 卢霄霄
      卢霄霄
      2018-11-01回复竹林听风

      随便什么目录都建不起吗

      2018-11-01
      回复
    • 竹林听风
      竹林听风
      2018-11-01回复卢霄霄

      官方文档写的是只能在这个目录下写啊 ${wx.env.USER_DATA_PATH}

      //写文件

      write_file:function(){

      var fileName = "he.txt";

      let fsm = wx.getFileSystemManager();

      fsm.writeFile({

      filePath: '${wx.env.USER_DATA_PATH}/' + fileName,

      data: 'bluejoy',

      encoding: 'utf8',

      success: res => {

      this.toastedit.showToast('写入成功', 2000);

      },

      fail: res => {

      this.toastedit.showToast(res.errMsg, 2000);

      // 在这里还是报fail permission denied, open ${dirPath} 指定的 filePath 路径没有写权限

      }

      });

      }


      2018-11-01
      回复
    • 智图科技
      智图科技
      2019-01-06回复竹林听风

      大哥,我也遇到了这个问题,你解决的没有呀

      2019-01-06
      回复
登录 后发表内容