从服务器下载整个文件夹

时间:2011-01-10 07:39:38

标签: asp.net

我正在创建一个网站(asp.net),允许用户将一些文件上传到服务器(只有注册用户可以上传)。特定用户上传的所有文件都存储在服务器上的一个文件夹中。现在,该网站还将具有搜索功能。浏览网站的任何人都可以看到用户“x”上传了所有文件的内容,并选择下载它们。让我们说用户“X”上传了100个文件。

在服务器端,我有代码将获取所有100个文件并将文件逐个循环流式传输给用户。我有: Response.AddHeader("content-disposition", "attachment; filename=" + file.Name) 这将提示用户该位置将文件保存在他们的磁盘上。对于100个文件,将提示用户100次。

我想只提示用户一次保存/打开/关闭对话框,缓存(或以某种方式获取该位置)用户存储文件的位置,以便通过提示将其余文件保存到该位置用户一次又一次。

是否可以做这样的事情?

3 个答案:

答案 0 :(得分:1)

你不能制作一个zip文件吗?

例如,使用DotNetZip

答案 1 :(得分:1)

有? 您可以使用csharpziplib来压缩文件。 然后提供单个链接给用户。

如果文件的大小或数量占用了大量时间,您应该考虑其他选择,例如:

  1. 安排下载请求并编写用于压缩的Windows服务。
  2. 根据大小计数器打破几个zip文件中的总文件。

答案 2 :(得分:0)

包含下载包含下载网址的文本文件,可以使用wgetWindows version)之类的内容吗? (或者可以下载文件列表的其他下载程序。)