微信小程序开发:文件存储

  • wx.setStorage({}) / wx.setStorageSync(key, value)
  • wx.getStorage({}) / wx.getStorageSync(key)
  • wx.removeStorage / wx.removeStorageSync
  • wx.clearStorage / wx.clearStorageSync

  • 同一个微信用户,同一个小程序 storage 上限为 10MB。

  • 以用户维度隔离

  • 生命周期跟随代码包

文件系统 - 200MB

  • 生命周期跟随代码包
var fs = wx.getFileSystemManager()
  • 本地临时文件
    • 比如来自 wx.chooseImage() 的结果。
  • 本地缓存文件 - fs.saveFile()
    • Not Writable
  • 本地用户文件 - fs.writeFileSync()
    • 目录: ${wx.env.USER_DATA_PATH}/
    • Yes Writable

选择照片上传

function onPickImage(evt){
  let $page = this;
  wx.chooseImage({
	success: function (res) {
	  var tempImagePath = res.tempFilePaths[0];
		  
	  wx.saveFile({
		tempFilePath: tempImagePath,
		success (res) {
		  const savedFilePath = res.savedFilePath
		  wx.setStorageSync("imgpath", savedFilePath);
		  $page.setData({imgpath: savedFilePath});
		}
	  });
	}
  });
}