saveFile()莫名其妙(二)
发布于 6 年前 作者 jdeng 17731 次浏览 来自 问答

多次下载同一个文件,下载后的文件名称都不一样,那我怎样判断这个文件是否已经被下载了呢?

4 回复

好的,谢谢!我再学习实践一下。给您点赞

当您拿到文件的临时文件路径时,此文件已经存在于设备上。

1、localStorage 一般不会被系统或微信清掉;

2、“退出微信,再登录到小程序”这种情况不但 localStorage 被清掉了,你下载的文件一样也没了,这种情况下更用不着判断是否已下载过了。

综上,你的思路一是可行的。

很感谢您的回答,我明白您的意思,我应该是没有表述清楚我的问题,我重新描述一下:

如上图所示:

第一次: 我点击下载按钮后  通过saveFileI()把文件下载到本机,下载后的文件名称是上图中的第一个saveFilePath;

第二次: 我点击下载按钮(备注:同一个下载按钮,也是说下载的是同一个文件)后  通过saveFileI()把文件下载到本机,下载后的文件名称是上图中的第二个saveFilePath;

第三次: 我点击下载按钮(备注:同一个下载按钮,也是说下载的是同一个文件)后  通过saveFileI()把文件下载到本机,下载后的文件名称是上图中的第三个saveFilePath;

我发现下载同一文件,保存后的文件名称不一样?

那么问题来了:如果第一次已经下载了,那么第二、三次我就不下载来,我该怎么解决呢?

思路一:把文件名称通过键值对的形式保存在缓存中,再通过getSaveFileLise()获取已经下载的文件的列表,然后逐个查找就可以实现是否已经下载该文件,那么当退出微信,再登录到小程序,缓存中的键值对数据没有了啊,那我怎么判断啊?

思路二:下载保存文件时文件名称的命名规则是否可以自定义,这样通过文件名是否相同来判断是否已经下载。

谢谢!

回到顶部