我有敏感文件要下载给用户,每个用户只能下载一次给定的文件。如果下载失败,我想允许重新下载,但不允许重新下载。
仅依靠在服务器上记录/处理文件下载请求是不够的 - 我需要确定性地知道文件何时完成并在客户端就位,因为我的许多用户在连接频繁中断的环境中工作。
最直接的方法是让浏览器从 Save As... 对话框中暴露一个“文件保存”事件,该事件可以连接到下载页面上的 JavaScript 函数(可以回发到服务器)。但是,直觉表明,如果浏览器公开此功能,则可能存在安全漏洞,因为它在沙箱之外有些偷偷摸摸。我不确定这是否可能。
我在这方面发现 了 其他 几个问题 ,但没有特别针对这个问题。
有任何想法吗?
编辑:我不应该在原始问题中使用“安全”这个词,抱歉触发了红鲱鱼。
编辑 2:我的“安全”措辞误导人们进入离题的技术安全问题,但你们两人证实了我的怀疑“不,浏览器不支持”。我正在用答案标记第一个评论者,因为他的第一句话就是我想要的。谢谢大家。