这里我有几个图像,我需要压缩这些图像,需要下载它。在这里我使用Ionzip。问题是zip不工作。它没有给我显示任何错误。
mycode的
public bool DownloadImgs()
{
string Path = HttpContext.Current.Server.MapPath("../Content/images/QImages");
string zippath = HttpContext.Current.Server.MapPath("../Content/images/QImages/zipped/");
string[] filenames = System.IO.Directory.GetFiles(Path, "*.jpg", SearchOption.AllDirectories);//It returns all the paths of the images.
using (ZipFile zip = new ZipFile())
{
foreach (String filename in filenames)
{
ZipEntry e = zip.AddFile(filename, "");
}
zip.Save(zippath);//In here i need to download the zipped file.not to save
}
}
PS:此应用程序是使用MVC框架构建的
答案 0 :(得分:2)
您应该将结果zip写入Response
流。
来自MVC控制器:
return this.File(zippath, "application/zip");
从ASP.NET处理程序或页面:
Response.TransmitFile(zippath);
另一种选择是直接将zip文件保存到响应流中,这将优化磁盘使用情况。
答案 1 :(得分:0)
您可以将zip文件直接保存到响应输出流:
{{1}}