【问题标题】:Download multiple files from remote server with a single user confirmation通过单个用户确认从远程服务器下载多个文件
【发布时间】:2011-11-19 13:19:46
【问题描述】:

我有一个包含图片 url 列表(可能超过 1000 个项目)的网页,我想启用一个按钮让用户单击并将所有文件下载到本地硬盘驱动器。

下载过程应询问用户保存文件的目录,然后继续将所有文件下载到该目录(如果可能,在其中创建子目录)。这应该通过单个用户确认整个下载过程来完成,并避免显示每个文件的浏览器保存对话框。

有没有办法做到这一点?我知道我不能使用标准的 HTTP 协议进行下载,并且必须编写某种控件来完成这项工作。该页面是用asp.net编写的。

无法下载到服务器、打包并发送给用户。下载必须来自客户端计算机。

【问题讨论】:

  • 我认为你应该使用 HTML5 文件 API。
  • 我认为文件 API 更多的是用于上传然后下载。据我所知,无法访问本地高清。
  • 能否详细说明为什么“无法下载到服务器,打包发送给用户”?一个 zip 文件可以得到你想要的 90% 的东西。据我所知,@Saeed Neamati 对 HTML5 File API 的建议需要Filesystem & FileWriter API,目前是only supported by Chrome
  • 您说“我知道我……必须编写某种控件”。是的,这将需要浏览器插件。那么,问题是什么?就个人而言,我只是流式传输一个 zip 文件。
  • @daxelrod,由于服务器带宽限制以及我希望立即开始下载,这是不可能的。如果用户有 1000 个链接要下载,则可能需要时间,并且必须是异步过程(例如在文件准备好时通过电子邮件通知用户)。此外,网址可以来自需要用户权限(通过 cookie)的不同站点,例如 facebook、google 等,而服务器没有这些权限。

标签: javascript asp.net download


【解决方案1】:

您应该更新您的问题以包含您评论中的要求,因为它们会产生巨大的影响。如果服务器无法检索文件,因为他没有正确的权限,您唯一的选择是在客户端运行代码。有几种方法可以做到这一点,主要取决于客户和您的编码技能:

  1. Flash(但不确定写入本地文件系统的安全性)
  2. Java Webstart(缺点:客户端需要安装 Java 运行时)
  3. 浏览器插件/扩展(缺点:您只能支持一部分浏览器,页面不会立即可用,因为需要先安装插件或扩展)

在所有情况下,您都必须编写一个工具,从您的服务器检索 URL 列表并开始下载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    相关资源
    最近更新 更多