【发布时间】:2009-05-08 14:28:24
【问题描述】:
我正在从 Web 服务检索文件列表并将它们显示为链接。当有人点击链接时,文件应该开始下载。问题是不存在对该文件的直接访问。这是下载文件的过程:
- 用户点击链接
- 服务器调用 Web 服务来检索文件
- 浏览器加载时间与从 Web 服务恢复文件所需的时间一样长
- 浏览器终于提供文件供用户下载
为了解决在下载开始前必须等待 Web 服务的不利用户体验,我想在单击链接时显示“正在加载...”反馈对话框,并在单击链接时让对话框消失文件准备好了。
我正在使用 jQuery,并且一直在尝试向页面添加 iframe 以加载文件,但我遇到的问题是我不知道如何确定文件是否已准备好。
我正在寻找提示,不仅在客户端提供充足的反馈,而且可能也在服务器端(使用 ASP.Net),以防万一我可以做一些事情来简化流程。谢谢。
更新:澄清一下,这是为了将文件下载到用户的机器上。我特别寻找的是一种确定文件何时可以下载的方法。因此,当上述第 4 步发生时,我想删除“正在加载...”消息。
【问题讨论】:
-
“下载”是指实际将文件保存到用户的机器上,还是说您的 Web 应用程序只需要获取一些基于文件的大型信息来执行其工作?
-
我不完全确定您在这里问什么 - 如何显示“正在加载...”对话框、如何将文件加载到 iframe 或如何测量文件下载的进度?
-
我已更新问题以添加一些说明。
-
如果文件下载后服务器不需要处理,为什么不直接给客户端提供服务器使用的下载链接呢?
-
不幸的是,所有文件都存储在数据库中,服务将其作为临时文件处理。另外,我只能访问网络服务本身。
标签: asp.net javascript jquery download