try
{
Response.Clear();
Response.BufferOutput = false;
string archiveName = String.Format("arch{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss"));
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + archiveName);
using (ZipFile zip = new ZipFile())
{
zip.AddFiles(ListOfPastPapers,"PastPapers");
zip.Save(Response.OutputStream);
Response.Close();
}
}
catch (System.Exception ex1)
{
}
我使用Ionic.Zip dll压缩图像。我给zip.addfiles()提供了字符串类型的列表和完整的服务器路径,当找不到特定路径上的任何图像时,它会抛出异常。
我该如何处理?
如果图像不存在,我想要的只是跳过该图像并压缩所有其他现有图像。
我该怎么做?
答案 0 :(得分:0)
File.Exists(string)
甚至FileInfo.Exists
对您的情况有所帮助。对于不存在的案例,只需跳到下一个迭代。
答案 1 :(得分:0)
在添加文件之前,请检查文件是否存在。
using (ZipFile zip = new ZipFile())
{
foreach(var name in ListOfPastPapers)
{
if(System.IO.File.Exists(name))
{
zip.AddFiles(filePath,"PastPapers");
zip.Save(Response.OutputStream);
Response.Close();
}
}
}