使用ASP.. NET如何从字符串数组创建zip文件
本文关键字:数组 创建 zip 文件 字符串 ASP NET 使用 | 更新日期: 2023-09-27 18:03:37
我使用的是ASP。. NET和我更喜欢VB作为语言,但我应该能够翻译c#为我的需要。
我有一个字符串数组,我想发送到浏览器作为用户保存的单个文件。在搜索互联网时,向浏览器发送多个文件最常见的解决方案是将它们压缩,然后发送一个压缩文件。
为了达到这个目的,我需要学习一些我不知道的东西;
1)什么工具/方法(最好是内置在ASP中)?. NET在IIS7上运行)我可以使用它来创建一个zip文件流发送到浏览器吗?
2)我如何愚弄zip工具认为它是从内存中的字符串获得多个文件?假设我需要创建文件流,但是我如何告诉方法文件名是什么,等等?
如果有一个例子做的事情基本上类似于我需要可用,那将是伟大的。给我指一指。
谢谢你的帮助
方法可以是:
- 将字符串转换为流
- 将该流中的数据添加到zip文件 将zip文件写入响应流
代码示例如下:
ZipFile zipFile = new ZipFile();
int fileNumber = 1;
foreach(string str in strArray)
{
// convert string to stream
byte[] byteArray = Encoding.UTF8.GetBytes(contents);
MemoryStream stream = new MemoryStream(byteArray);
stream.Seek(0, SeekOrigin.Begin);
//add the string into zip file with a name
zipFile.AddEntry("String" + fileNumber.ToString() + ".txt", "", stream);
}
Response.ClearContent();
Response.ClearHeaders();
Response.AppendHeader("content-disposition", "attachment; filename=strings.zip");
zipFile.Save(Response.OutputStream);
zipFile.Dispose();