使用Asp.net一次性下载多个文件(无文件压缩)

时间:2015-01-09 23:38:01

标签: jquery asp.net download

换句话说我想让用户一次下载所有选定的文件(whitout创建一个zip) 但我会是那个用户选择时间保存文件的位置并确认只下载一个(不是每个文件)

我有一个网格,其中包含服务器上的文件列表。 我想用这个目标实现多文件下载: - 用户检查网格上的许多文件 - 用户只需单击一次按钮即可下载 - 下载启动,每个文件单独下载()

我无法使用" For Each"循环遍历列表以按顺序下载每个文件,因为它会导致多个弹出窗口进行下载确认。 我发现这个JQuery插件:http://biesiad.github.com/multiDownload/但它并不像我想要的那样工作,因为会打开多个弹出窗口。

我在旧网站上看到此功能是使用activex制作的......但我希望现在这是复制此功能的其他方式......

你能帮帮我吗?

无论如何,如果唯一的方法是集成一个activex,有一个免费的吗?

1 个答案:

答案 0 :(得分:1)

zip是最简单的选择,因为您实际上是将用户发送到新的"页面"这是zip,迫使浏览器启动下载过程。

其他方法:

  1. 将一些非HTML位(Java,ActiveX,Silverlight,Flash)添加到将处理下载管理的页面
  2. 打开多个"页面",每个文档一个
  3. 使用HTML5
  4. 由于你不喜欢选项2(JQuery方式),你很可能会遇到#1或#3。 #1的缺点是用户的浏览器可能不支持该技术。

    • 用户可能关闭Java,因此Java不是一个明确的选择
    • 默认情况下,用户关闭ActiveX,并且它不是通用的(IMO列表中最差的选项)
    • 用户可能没有安装Silverlight(幸运的是,它会启动安装程序,但是如果他们拒绝你必须采用另一种方式 - 也许"安装Silverlight或者我将为每个文件打开1个弹出窗口,或者我可以拉链给你")
    • 用户可能没有安装闪存(最终用户不太可能,但可能)

    #3怎么样?浏览器不支持下载,因此除非您可以控制浏览器,否则会失去受众群体。

    这里的要点是我所知道的唯一拉链方式,浏览器中嵌入的额外HTML / JavaScript编程,多个弹出窗口和HTML5下载。