我们小程序有个需求,需要上传很多图片,但因为使用小程序的时候,所在的地方经常信号很差,上传图片困难。
所以我们目前都是先把图片用chooseMedia选择好,先让小程序本地正常显示出来。然后到有网的地方再一次性上传。
遇到的问题:
当选择的图片过多时(超过100多张),最早选择的那些图片的临时路径就失效了,应该是缓存满了被自动清理了。
那现在我们能怎么办?有能取到缓存大小的接口么?还是有别的什么办法?chooseMedia过来的文件一定要在小程序缓存么?就不能直接用相册里的文件给我拿去上传么?我又不一定非要压缩。。。
关键是这个缓存,到底多大?我们用接口操作不到么?真是太恶心人了
一次性只能上传20
通过chooseMedia选取的临时文件会被缓存在本地,是一块微信给你的小程序分配的独立的临时文件存储空间,微信会有一系列黑盒的清理策略来删除其中的临时文件,我踩过这块的坑,这个临时文件存储空间是很小的或者微信清理的频率是比较高的,所以选取的文件一多就很容易被删掉,因此在没网的时候还是用手机拍,存到相册里吧,有网再上传到小程序
要一次性上传100张图片的场景、接口估计都撑不住吧。`wx.chooseMedia` 一次性最多20张,不能先把之前选择的图片无感知先上传了吗?