在User.aspx页面,点击按钮,将E:/WebSite/img.lingdigd.com/download/路径的文件打包成zip文件的示例
时间: 2024-09-28 20:17:39 浏览: 50
在ASP.NET中创建这样的功能通常涉及服务器端脚本如C#或VB.NET,以及使用System.IO和System.IO.Compression库来操作文件。以下是一个简单的C#示例,假设你有一个名为btnDownload的按钮:
```csharp
protected void btnDownload_Click(object sender, EventArgs e)
{
if (!Page.IsValid) return; // 验证表单是否有效
string filePath = "E:/WebSite/img.lingdigd.com/download/"; // 文件路径
string zipFilePath = @"C:\Temp\archive.zip"; // 输出ZIP文件的路径
string[] filesToZip = Directory.GetFiles(filePath); // 获取需要压缩的文件列表
using (ZipArchive archive = new ZipArchive(File.Open(zipFilePath, FileMode.Create), ZipArchiveMode.Update))
{
foreach (string file in filesToZip)
{
string entryName = Path.GetFileName(file);
archive.CreateEntryFromFileName(file, entryName);
}
}
Response.Clear();
Response.ContentType = "application/zip";
Response.AddHeader("Content-Disposition", "attachment; filename=archive.zip");
Response.WriteFile(zipFilePath);
Response.Flush();
Response.End(); // 关闭响应,直接发送文件
}
```
在这个例子中,我们首先检查表单是否有效,然后获取指定路径下的所有文件。接着,创建一个新的ZipArchive实例,并逐个将文件添加到档案中。最后,设置HTTP响应头并直接读取生成的ZIP文件内容发送回客户端。
阅读全文