到目前为止我所有的研究都表明这不可能做到,但我希望这里有人有一些狡猾的想法。
我在网站上有一个表单,允许用户批量上传大量的URL以添加到服务器上的列表中。每个URL上都有很多服务器端处理,所以为了避免超时和显示进度,我使用jQuery实现了上传,使用ajax一次提交一个URL。
这一切都很顺利。但是,每个URL上的部分处理是根据完整列表对其进行重复数据删除。 ajax调用返回一个状态,指示成功上载或由于重复而拒绝。随着上传的进行,我告诉用户有多少URL被拒绝为重复(以及整体进度和ETA)。
现在的问题是如何为用户提供失败的重复URL的完整列表。我在jQuery中将它们保存在一个数组中,并希望用户能够单击表单上的链接下载包含这些URL的文本文件。这可能只是使用客户端处理吗?
服务器端处理基本上一次处理一个关键字。我宁愿不必将重复项存储在数据库表中,其中包含某种会话密钥,该密钥随每次ajax调用一起发送,然后在最后用于生成服务器端的文本文件(然后清理一些时间以后)。我可以看到如何做到这一点,但它看起来非常笨重,有点20世纪。
答案 0 :(得分:3)
我自己还没有使用它,但我认为Downloadify就是为了这个目的而构建的。
Downloadify是一个很小的JavaScript + Flash库,可以在浏览器中动态生成和保存文件,无需服务器交互。
它是由Doug Neiner创建的,他在Stack Overflow上也非常活跃。
需要Flash 10才能工作。