我有一个拉链文件并将其下载到用户机器的功能.
但是,当它压缩文件时,它们位于几个文件夹中.
例如,如果我想压缩一个名为test.doc的文件,它位于c:/ document /文件夹/ test.doc中
在压缩文件夹中也会有"document"文件夹和"文件夹".我只想要那里的文件
这是我的代码......
public FileStreamResult DownloadDocs()
{
MemoryStream workStream = new MemoryStream();
ZipFile zip = new ZipFile();
string[] fileEntries = Directory.GetFiles(Server.MapPath(SettingManager.OnlineForms));
foreach (string fileName in fileEntries)
{
FileInfo fi = new FileInfo(fileName);
string name = Server.MapPath(SettingManager.OnlineForms + fi.Name);
zip.AddFile(name);
}
zip.Save(workStream);
workStream.Position = 0;
FileStreamResult fileResult = new FileStreamResult(workStream, System.Net.Mime.MediaTypeNames.Application.Zip);
fileResult.FileDownloadName = "OnlineForms.zip";
return fileResult;
}
Run Code Online (Sandbox Code Playgroud)
改变线
Zip.AddFile(name);
Run Code Online (Sandbox Code Playgroud)
至
Zip.AddFile(name, string.Empty);
Run Code Online (Sandbox Code Playgroud)
你也可以避免调用获取fileinfo.文件名数组应该足够了.
| 归档时间: |
|
| 查看次数: |
399 次 |
| 最近记录: |