微信小程序saveFile:fail the maximum size of the file storage limit is exceeded

灰太狼 2023-07-17 04:44 110阅读 0赞

话不多说,上解决方案

  1. wx.getSavedFileList({ // 获取文件列表
  2. success(res) {
  3. res.fileList.forEach((val, key) => { // 遍历文件列表里的数据
  4. // 删除存储的垃圾数据
  5. wx.removeSavedFile({
  6. filePath: val.filePath
  7. });
  8. })
  9. setTimeout(function(){
  10. wx.saveFile({
  11. tempFilePath: ptah,
  12. success: function success(resp) {
  13. wx.hideLoading()
  14. wx.showToast({
  15. title: '长按图片保存到手机',
  16. icon: 'none',
  17. duration: 2000
  18. })
  19. let preUrl = resp.savedFilePath
  20. wx.previewImage({
  21. current: preUrl, // 当前显示图片的http链接
  22. urls: [preUrl] // 需要预览的图片http链接列表
  23. })
  24. },
  25. fail: function (resp) {
  26. }
  27. });
  28. },1500)
  29. }
  30. })

问题描述:
最近小程序上做了一个生成海报的功能,开始功能一直没问题,上线以后也能生成,但是用了几次以后就没法生成了,逐行排除代码,原来是小程序的本地存储满了。

报错信息:

saveFile:fail the maximum size of the file storage limit is exceeded

报错原因:

微信文档中描述的是 本地文件存储的大小限制为 10M

解决方案
wx.getSavedFileList,获取小程序本地存储的文件列表,再通过wx.removeSavedFile将垃圾文件删除即可。我的代码加了setTimeout保证执行顺序。

发表评论

表情:
评论列表 (有 0 条评论,110人围观)

还没有评论,来说两句吧...

相关阅读