嗨,我正在创建网上商店。在这个shope人们在线必须购买带有zip扩展名的文件。他们用信用卡或其他方法付款获取密钥并下载产品。我怎么知道他们何时完成产品下载? 感谢
答案 0 :(得分:2)
不幸的是,由于某些客户端可能不会立即下载文件(例如,Downloadmanagers将下载分为几个部分下载),因此没有真正好的方法可以做到这一点。
选项包括:
您不应只计算下载的字节数(因为下载可能会中断)。而且只是确定是否所有部分都已下载一次(也因为下载可能已中断)
只是为了澄清:所有这些意味着您必须编写自己的下载处理程序(文件服务器)。
答案 1 :(得分:0)
您可以使用适用于http或ftp的自定义文件服务器,并在客户端收到最后一个文件片段后发送通知。
所有其他选项都存在问题;客户端可能使用下载管理器下载文件,因此您甚至无法注册任何浏览器事件(如果有的话)。
答案 2 :(得分:0)
自定义服务器应用程序似乎确实是一个解决方案, 或者可能是某种脚本。
普通的http服务器不会通知连接结束, 但是可能,如果你在cgi / php / asp / *脚本中生成输出, 你用cgi / php / asp / *脚本语言读取文件 将其发送到输出。当你到达文件的末尾时,你 做通知,然后结束脚本。
当你这样做时,它只会检测完全下载的文件, 如果连接中途中断,则不会标记 已下载的文件。
'cgi-script'可以是编译的c程序,(或任何其他语言 对于这个问题)。无论如何编译代码。编译程序 将提供比解释脚本解决方案更好的性能。