收藏
回答

writeFile encoding 为base64失败

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug writeFile 客户端 6.7.2 2.3.2 [185]

writeFile() {

var fileManager = wx.getFileSystemManager();

//var array = this.str2ab('健康长寿');

fileManager.writeFile({

filePath: `${wx.env.USER_DATA_PATH}/name1.txt`,

encoding: 'base64',

data: '健康长寿',

complete(res) {

console.log(res);


var fileManager = wx.getFileSystemManager()


fileManager.appendFile({

filePath: `${wx.env.USER_DATA_PATH}/name1.txt`,

data: '乱我心者今日之日多烦忧',

encoding:'base64',

complete(res) {

console.log(res)

fileManager.readFile({

filePath: `${wx.env.USER_DATA_PATH}/name1.txt`,

encoding:'utf8',

complete(res) {

console.log(res)

}

})

}

})

}

})

},


如果在writeFile的时候传入utf8就能写入成功,但是base64就失败,到底writeFile是否支持base64呢?

还有如果writeFile encoding 是utf8 appendFile是base64 读取的内容应该是什么呢?

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

1 个回答

  • 卢霄霄
    卢霄霄
    2018-11-27

    你这个内容,不是base64啊。。就普通字符串

    2018-11-27
    有用
    回复 4
    • XL
      XL
      2018-11-28

      您的意思是 encoding用来指定 data的格式?就是data 已经是encoding的格式了,而不是微信以这种格式进行编码写入?编码的工作是我这先做完?比如“你好” 我需要先base64一下?然后再用 encoding:'base64' data:'5L2g5aW9' 进行写入?

      2018-11-28
      回复
    • 卢霄霄
      卢霄霄
      2018-11-28回复XL

      嗯。。我是这么觉得的,中文这种编码,直接作为base64格式,因为不能被识别,所以会出错。。我猜的哈。。

      2018-11-28
      回复
    • XL
      XL
      2018-11-28回复卢霄霄

      好吧 我想我理解你的意思了。。。。我试验了 你说的对。。。。。。。。感觉这种事情不该前端去做 而是交由微信小程序去进行指定格式编码写入。而且文档写的很不清楚。非常感谢您的回复。

      2018-11-28
      回复
    • 卢霄霄
      卢霄霄
      2018-11-28回复XL

      主要是很难界定。。比如,就算内容看起来是base64,但是也许用户实际是想要存成纯文本

      2018-11-28
      回复
登录 后发表内容