【发布时间】:2011-08-16 21:26:53
【问题描述】:
我正在创建一个脚本来保存下载统计信息,但我只想在文件被实际下载的情况下更新统计信息。
问题在于浏览器(例如 Explorer 9、Chrome 等)会在“保存/打开”对话框仍处于打开状态时自动开始下载文件。这意味着文件可以在用户指定保存位置之前完全下载(到浏览器指定的临时目录中)(或者当资源管理器仍然显示黄色警告栏时)。
即使文件已成功下载,用户也可以决定取消保存。如何告诉浏览器不要自动开始下载?也许是一些 HTTP 标头? 还有其他解决方案吗?
【问题讨论】:
-
您这里有问题,无论用户是否指定将文件保存在某处,都发生了实际传输,即使文件存储在临时目录中并且用户后来决定按“取消” .另外,深入了解是否有人按下“保存”按钮的目的是什么,该统计数据能告诉您什么对业务至关重要?
-
可能我解释的不是很好。我需要检查有多少用户下载了我们的软件(并为这些下载付费)与实际安装它的用户数量。如果用户按下下载按钮然后取消,则不应计为下载。不幸的是,由于浏览器缓存/可下载文件的预取,我不知道用户是否真的下载了该软件并且可能有一天会安装它,或者它只是浏览器机制。
-
那么你解决问题的方法是错误的。如果有人付费下载,他们应该能够在其许可证有效期内的任何时候下载文件,您不应该让下载链接一次有效。
-
迈克尔,恐怕你错过了这里的重点。用户不为下载付费,我是为完整下载付费的广告商。问题是技术问题,而不是业务问题。详情请参阅下方 Brad 的回复。
-
我从这里得到了一个相当有力的答案!看看这个。 http://stackoverflow.com/questions/1563187/check-if-download-is-completed
标签: php javascript html browser download